Revit Architecture Forum
Welcome to Autodesk’s Revit Architecture Forums. Share your knowledge, ask questions, and explore popular Revit Architecture topics.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

Adaptive-Family based Geometry: Discrepancy after placement

13 ANTWORTEN 13
Antworten
Nachricht 1 von 14
Anonymous
651 Aufrufe, 13 Antworten

Adaptive-Family based Geometry: Discrepancy after placement

Hi there,

I have created a geometry using the Adaptive Family Template, the purpose of which is to construct a triangle, in which a cord is drawn in a way that it keeps its length always 6m and simultaneously parallel it the triangle's opposite side.

The model works perfectly when flexed, however, when it is placed on a Mass Model's surface it behaves in a different way as in the Family Model itself.

Do you have an idea of what the problem could be?

Geometry after placement onto a mass model's faceGeometry after placement onto a mass model's faceParametersParametersAdaptive point settingAdaptive point settingGeometry shown inside the family fileGeometry shown inside the family file

13 ANTWORTEN 13
Nachricht 2 von 14
Anonymous
als Antwort auf: Anonymous

Attached you find the file

Nachricht 3 von 14
RDAOU
als Antwort auf: Anonymous

@waelajam 

 

The way the family is now, there isn't much you could do about it unless you remodel the whole thing. As it is, the chord length is parametric driven by 2 instance parameters and not adaptive with respect to the placement points.

 

The way you have modeled it, the chord length is controlled by the normalized curve parameter(Pos_L & Pos_R) of the 2 points hosted on the reference lines (Side_L and Side_R)...for that ratio to adapt properly in the project environment, the 2 parameters Base_Length_L and Base_Length_R should in principle be reporting parameters and NOT input parameters.

 

If you want to work with it as is, you need to input the Base_Length_L and Base_Length_R manually in the project

See below screencast.

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


Nachricht 4 von 14
RDAOU
als Antwort auf: Anonymous

 

I have posted a detailed explanation why that is not working with a screencast but for the same odd reason the forum deleted it … @Discussion_Admin / Moderator notified...hopefully they will retrieve it from the recycle bin

 

 

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


Nachricht 5 von 14
Anonymous
als Antwort auf: RDAOU

Hi,

I could read your reply through the notification email I 've received.

It is not possible to set both the [Base_Length_L] and [Base_Length_R] as reporting parameters because Revit rejects using them in a formula. In addition, the Normalized Curve Parameter's value of the point placed onto the triangle's base cannot be read off and consequently transmitted to a formula.

What would you suggest?

 

Nachricht 6 von 14
FAIR59
als Antwort auf: Anonymous

you are overcomplicating the problem

 

  • make a reporting parameter for the base length (total)
  • define cord length with formula: cord = if(Base_Length < 6000 mm, Base_Length, 6000 mm)cord length can't be larger then base length.
  • the ratio from the top is : cord / base (see picture), so ratio from bottom :  1 - ( cord / base) 
  • triangles.JPG
  • apply ratio to both points of cord.

formulas.JPG

Nachricht 7 von 14
RDAOU
als Antwort auf: Anonymous

@waelajam 

 

Sorry for the late reply, I was in a meeting.

 

The current Base_Length_L & R cannot be set as reporting because you have used them in a formula already and that middle point on the edge is not a Host. Do the following:

 

  1. Select that point and change it to a Shape Handle,
  2. then change the Base_Length_L and R  reporting. 
  3. Your family should work as is

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


Nachricht 8 von 14
Anonymous
als Antwort auf: FAIR59

Thanks.

It is based on the same concept of Similarity of Triangles, however,  so simplified that it undermines the whole concept. This geometry is apart of a system.

Nachricht 9 von 14
Anonymous
als Antwort auf: RDAOU

By do doing so, you 've unattached the point from the triangle's base. :Gesicht_mit_rollenden_Augen:

Anyway, thanks.  Seemingly, I need to reconsider another construction method.

 

Nachricht 10 von 14
RDAOU
als Antwort auf: Anonymous

@Anonymous 

 

Practically, no not really...The base chord would be a Spline through the 2 adaptive placement points and the shape handle...Considering it is a Truss, one would assume that it will be hosted on a single plane; hence, all 3 points on the base chord will be coplanar => it will behave similar to a hosted point on a line segment be a straight line/chord. However, that point will not be aligned with the Triangle's altitude. 

 

I am not sure what you need that point on the base for...you didn't clarify in the OP. But if you do for some structural reason to be aligned with the altitude, then you would need to remodel as mentioned in my earlier post. 

 

 

 

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


Nachricht 11 von 14
Discussion_Admin
als Antwort auf: RDAOU


@RDAOU wrote:

 

I have posted a detailed explanation why that is not working with a screencast but for the same odd reason the forum deleted it … @Discussion_Admin / Moderator notified...hopefully they will retrieve it from the recycle bin

 

 


This should be returned now

 

DA

Nachricht 12 von 14
FAIR59
als Antwort auf: Anonymous

you can calculate the values for Base_Length_L and Base_Length_R:

 

  • add reporting parameter for Base_Length .
  • Base_Length_L = (Base_Length ^ 2 + Side_Length_L ^ 2 - Side_Length_R ^ 2) / (2 * Base_Length)
  • Base_Length_R = Base_Length - Base_Length_L
Nachricht 13 von 14
ToanDN
als Antwort auf: Anonymous

I was getting a headache trying to figuring out the gymnastic of formula that you show, then I tried another approach and it seems to be achieving the same goals.

 

image.png

 

Nachricht 14 von 14
Anonymous
als Antwort auf: ToanDN

Thanks.

Please do't try to make new siggestion.

I am trxing another geometry appeoach with Revit API.

Thank you all.

Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report