Group is mirrored (or not)


#21

Not sure I understand. You’re saying elements in curtain walls would have to be ignored because they behave differently?


#22

Yes. indeed.
All elements in curtain walls should be ignored (because they shouldn’t trigger the mirrored decision).

So I create a group [A] containing

  • a window family (test)
  • a curtain wall (wally)
  • a door as panel in (wally).
    I consider that group to be the ‘non mirrored version’.

Next
I create a group [B] containing the same objects, but let’s say the height differs.
and the door direction is flipped.
I consider this group [B] to be the ‘non mirroed version’.

but it’s not because apparently the door has been flipped.

But that’s not what I want (I understand that’s the current possible situation ofc). The check should be on the first level elements in the group. So the curtain wall (not possible I know), the window).

Makes more sense?


#23

I wonder if this applies to other types of assemblies as well like trusses or beam systems…
I’ll add a check to disqualify family instances depending on their host type. For starters this would be curtain walls, curtain systems and glazed roofs.


#24

Good catch, by the way.


#25

@3Pinter I ran a test and it looks like doors in curtain walls are not an issue as their behaviour is ecatly the same as that of doors hosted in standard walls:


#26

@Andreas_Dieckmann,

Hmmm, I don’t get the same results.
I did a test where I only group a curtainwall (with a custom door panel (family instance)). Flipping that door resuls in a flipped status, while it’s actually not a flipped version of the whole curtain wall.


So H40 has been duplicated to create a new mark H41 (door is flipped)
From left to right: H40 original, H41s original too, H41 mirrored by me.

Dynamo thinks it’s a mirrored which actually is not true.


#27

Now I see what you did.
You can’t compare instances of different group types.
The node should return nulls in such cases.


#28

Perhaps with your node, you can’t but with the original setup, you can (which I like).

Does your script allow the ‘first’ to be a list?

  • So first you select which groups are to be considered ‘original’.?

OR:
If I would like to narrow the groupelements to check only a certain family (based upon name containing ‘test’). Is that something you do @ the getfirstfamilyinstanceorientation?
Fiddling here, but horrible results. Must be the amount of coffee I drank today :expressionless:


#29

You could just comment out this line:

elif refGroupType != group.GroupType.Id.IntegerValue: bools.append(None)

Then the grouptype will be ignored.


#30

@Mostafa_El_Ayoubi,

I running into an issue where flipped doors trigger a mirred status where it shouldn’t. Luckily the groups I want to check always some same elements.

So I want to alter your script so it checks not the first familyinstance it finds, but rather if a certain family is used, if so, get that orientation.

def getfirstfamilyinstanceorientation(groupelements):
	test = UnwrapElement(groupelements)
	for i in test
		if isinstance(i, Revit.Elements.FamilyInstance):
			if 'wrap' in i.Symbol.Family:
				return i.Mirrored

so my family in the group always contains the word ‘wrap’. What am I doing wrong? Been trying to long now, my head is on lockdown :sob:


#31

Is there any way to get mirrored elements that are not groups?


#33

Try this:
Family-instance-is-mirrored


Comparing geometry of Dynamo solids - collecting objects of the same shape
#34

Thanks Yna_Db for the quick reply.

Seems tho it doesnt work with Walls… any ideas?


#35

Only family instances have a Mirrored property, see here:
http://help.autodesk.com/view/RVT/2017/ENU/?guid=GUID-C7E4C845-C386-4B7B-BDA1-5D2BE7A5C2D8


#36

i see
So im wondering how does Assemblies identify that the wall is mirrored and assign it to a new assembly…


#37

It could be an interesting issue but this topic has already been solved at post #10 and is already very long. Would you mind starting a new one and sending some illustrations and screenshots of your work? You can use the “share a link to this post” button to continue this conversation there:
Share-a-link-to-this-post
Thanks :slight_smile:


#38

Thanks!