View Full Version : Intelligent Families
natxo
2007-07-12, 03:57 PM
Hi all,
I'm an ObjectARX developer that now has to deal with Revit Architecure 2008. I've been asked to implement a very complicated group of families in Revit. And I don't know if all the features demanded could be achieved with the Family Editor or via the .NET API. I've searched across the minimal documentation, but I found nothing related.
That's why I have quite a lot of questions related to the Revit Family Editor.
1) It's possible to define a new family and assign which is the host family? Even if the host family is also a new one? And could have more than one host family?
2) It's possible to define how a family instance interact when intersects another family instances? I mean, like the points where a beam
intersects with other columns.
3) And here comes the most difficult one. One of the familys would have to be:
- would like to add some nested subcomponents previously defined.
- a linear family that allow to add a formula-added array to its subcomponents.
- those subcomponents won't be static, I mean that could be of diferent families depending on some situations.
If any of these issues could not be achieve via the Revit Family Editor, could it be done with the .NET API?
Thanks in advance. And I beg your pardon for so many questions.
--
Best Regards,
Natxo
Steve_Stafford
2007-07-12, 05:24 PM
You've described what might be solutions to your problem but you are not telling us what the problem you need to solve is. Can you tell us what you need to make? That would help very much. We might move this to the API forum if what you want to do isn't possible within a family itself.
natxo
2007-07-13, 07:44 AM
Hi,
It's quite complicated to explain what I'm trying to achieve, but I'll try:
- I would have to create a bunch of structural beam families, of different length (e.g. 2,3,4 meters) and with different fitting positions.
- These families would be the nested subcomponents of another family, a linear one, that lets you dimesionate dinamically, I mean that lets the user drag dinamically its length.
- What it's desired, and I think is the most complicated part, is that last family depending on which elements intersects with, the subcomponents must change, and some pieces are to appear or not.
I'm quite a bit lost if all these issues could be achieve. My main goal i the last point, I'm don't know how to determine if intersects and how to change its nested subcomponents.
If any of these issues could not be achieve via the Revit Family Editor, could it be done with the .NET API?
Thanks in advance,
Natxo
clog boy
2007-07-13, 09:02 AM
It's generally not possible to nest systemfamilies within other families. But it is possible to constrain one dynamic element to another, so that it adjusts when one moves.
Regardless, the answer to your third question would be a 'yes'. It is possible to label an array, and calculate the integer for that label with other parameters. That's usually not an easy task. You can put nested components in that array (even preferably so), and link the parameters for the nested components to family parameters.
Revit let you do the thinking, and offers tools to turn those thoughts into a design. But it doesn't offer many 'one size fits all' solutions.
I'm not familiar with the .net API functionality. I found however that a fair understanding of Visual Basic or C would be a prerequisite if you were to make full use of the API functionality. While I'm good with PHP and learning javascript, the API lies beyond my scope of competence.
Welcome on board and good luck :)
HI Naxto, I'm struggling to understand what you are trying to achieve. Is there any chance that you could give us a graphic representation of what you want from Revit.
From the sounds of it you are trying to create a family that can be adjusted inside the project by simply stretching it graphically. In the process as it changes it should be able to allow for different subcomponents at different points inside the family. That's what it seems like you are trying to achieve and is quite possible in Revit but I still feel like I'm missing something here.
natxo
2007-07-13, 10:40 AM
Hi again,
I'll try to explain better, in a simple way.
That's what I think that I'm able to deal with Revit:
- I've got one family of beams, that have 3 different lengths (2, 3 and 4 meters).
- Another family that simulates an extensible adapter, that let's it's length to be modified parametrically.
- Those braces are the subnested components of another linear family, that could be stretched graphically
And that's what I don't know if it's possible:
Let's suppose that the previous beams are named B1, B2, B3. The linear familly that englobes them is named L1, and the adapter A1.
The default behaviour of L1 is that depending the length (that the user is dinamically dragging in Revit), different instances of B1, B2 or B3 are nested inside the L1 instance to allow its length to be more similar to the length defined by the user.
But suppose that we found and intersection between the L1 instance where placing and a column. This implies that an instance of A1 must be placed at the end of the L1 lining in order to adapt the length to not trespase the column.
Moreover, this behaviour would be different depending on which kind of instances intersects L1. I mean when intersecting a column, a wall, or other families.
These are the issues that I don't know if could be achieved with Revit and its family editor. Mainly:
- How do I recognize that an instance of L1 is intersecting with another Revit instances?
- How do I determine which kind of family instances I'm intersecting?
Hope this clarifies a bit my problem.
Thanks in advance,
Natxo
tomnewsom
2007-07-13, 11:26 AM
Ok, you should be able to do your arrayed beam sections with dynamic adjusting end parts, but you can't do families that are aware of their intersctions/joints with other families. Associativity with hosts is strictly limited to eg. thickness of host wall.
natxo
2007-07-16, 01:47 PM
I see, so the only option if to try to define its behaviour via .NET
Thanks to all.
Regards,
Natxo.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.