Jump to content
  • 0

Window with symbol: inconsistent behaviour in Horizontal Section Viewport


line-weight

Question

I've been trying to establish a robust way of getting windows that use a custom symbol to display as I want in Horizontal Section Viewports.

 

Basically I want to have HSVs with "display 2d components" turned on but I want my window objects to be shown in section, as in a real section through the window geometry, not a 2d component representation.

 

My initial hope was that if the window symbol had no "top or bottom cut" 2D component, VW would simply default to sectioning the symbol 3d geometry. That's what happens if the symbol is just floating on its own - but if it's within a window object, it just shows a blank space.

 

Then I realised that there are some settings that I can apply to the objects within the 3d component, using the "display with 2D components" button. Doing this makes some elevational lines appear in the window opening but no section cut geometry.

 

To get it to work fully, it seems that I have to put something in the 2d component (just a single 2D locus seems to do it). Then, the window appears properly.

 

Is this what's supposed to happen? Or is there something I'm missing? The same problem seems not to exist in "regular" sections.

 

I've attached a sample file (VW2023 version). There is further explanation in the sheet layer.

 

Screenshot2023-12-07at16_55_03.thumb.jpg.4fb4921641edc196cece2356a14f435f.jpg

 

Screenshot2023-12-07at17_01_16.thumb.jpg.9125e1427a59929ebae7de9003eba732.jpg

customwindow.vwx

Link to comment

Recommended Posts

  • 0
  • Vectorworks, Inc Employee
16 minutes ago, Tom W. said:

 

I have been working on the assumption that a check in the 'Wrap to Insert' column overrode whatever the 'Wrap To' column was set to but judging on your settings above that was obviously wrong...

 

Actually, "Wrap to Insert" is designed to work in addition to the "Wrap To" setting for more complex cases.  For my example above, "Wrap to Insert" should be deselected.  The basic idea (when both are selected) is that the component will wrap to the Wrap To location if it finds it before hitting the insert's closure object (i.e.: jamb), then it will try to continue to wrap to the insert if it can.  In my last image with both selected, it really should look like this:

 

image.png

There are some even more complex cases this is designed to support but there are some challenges implementing them.  However, we think the most common cases are handled.

  • Like 1
Link to comment
  • 0
23 minutes ago, Tom W. said:

 

I have been working on the assumption that a check in the 'Wrap to Insert' column overrode whatever the 'Wrap To' column was set to but judging on your settings above that was obviously wrong...

Yes this has confused me a bit too ... I'd expect that ticking "wrap to insert" would make the "wrap to" field grey out because it would no longer be relevant.

 

But it seems as if ticking "wrap to insert" for the plaster layer has no effect.

 

This is clearer to see when I make the brick layer thicker, because now the inner face of the window and the centre of the brick core are not at the same point.

 

Here I am asking for the plaster to be wrapped to insert like this:

 

Screenshot2023-12-13at15_58_28.jpg.39a7e6c0f7eb67a27f0e57b7274b3d18.jpg

 

but it's being wrapped to the brick core instead, like this:

 

Screenshot2023-12-13at15_58_01.jpg.a5e0bb06f7257aff5cad0a4a613ff160.jpg

 

 

(vwx file attached)

 

 

closure_offset_thicker.vwx

Link to comment
  • 0
  • Vectorworks, Inc Employee
18 minutes ago, line-weight said:

Ok - how about this scenario (I've added another wall component to the attached file).

 

Screenshot2023-12-13at15_42_52.jpg.e3337b57ec9c1d77e98290bf04c4eafc.jpg

 

Here, wrapping the interior plaster layer to the external insulation layer isn't used to force the entirety of the brick layer to be set back, so I get a step in it.

 

But what if I want it to look like this - is it possible?

 

Screenshot2023-12-13at15_38_22.jpg.52889db9696257a600e9b090d890d9a4.jpg

 

closure_offset_v2.vwx 856.82 kB · 0 downloads

 

Yeah.  I don't think that one can be done.

Link to comment
  • 0
15 minutes ago, Matt Panzer said:

 

The basic idea (when both are selected) is that the component will wrap to the Wrap To location if it finds it before hitting the insert's closure object (i.e.: jamb), then it will try to continue to wrap to the insert if it can.

 

Ah, OK.

 

I think this answers my subsequent post, which I typed while you were writing this.

 

*edit - or does it? I'll have to come back to this later...

Edited by line-weight
  • Like 1
Link to comment
  • 0
  • Vectorworks, Inc Employee
On 12/13/2023 at 11:02 AM, line-weight said:

 

 

Screenshot2023-12-13at15_58_28.jpg.39a7e6c0f7eb67a27f0e57b7274b3d18.jpg

 

Getting this 2-D result is actually achievable! Arguably via black magic, but still...

 

Extrudes are valid objects for the Wall Closure Object, and you can create a zero-thickness one by extruding a line, OR, you can stick zero-thickness bits off of it by extruding a collection of rectangles and lines. Any parts of the "wall blob" exterior to the exterior-most face of the wall closure object get offset by the exterior profile offset, and any parts of the "wall blob" interior to the interior-most face of the wall closure object get offset by the interior profile offset. Finally, the closure object is subtracted from the "wall blob".

 

To manipulate VW into doing what you want, you need to a zero-thickness face extending far enough to "stop" that component from wrapping, but there can't be any solid behind it (because you don't want it subtracted from that inner component. It's probably easier to look at the later picture to see what I mean.

image.png

 

View of the closure object:

 

 

image.png

 

This strategy won't work to get all four edges wrapping (because VW won't make an extrude if the rectangle and line don't share a plane, and solid additions aren't allowed as closure objects). However, if the rectangle isn't necessary, you could get this on top/bottom/left/right with a properly-extruded line.

 

image.png

Link to comment
  • 0

@AHiguera thanks very much for explaining this. I'm just trying to get my head around how it works.

 

(Incidentally, it explains a separate problem I was having, which was that VW would refuse to accept my wall closure object but not explain why. It was always after I'd used the push-pull tool to stretch it in one direction or the other and I found I had to draw it "fresh" each time. Obviously the P-P tool was creating an addition of some kind.)

 

About the wall closure object ... why does it get subtracted from what you call the "wall blob"? I'd have thought that's the wall hole component's job, to decide which parts of the wall get subtracted away. I'd have assumed the wall closure component's job is really just to define two planes, the outer and inner planes that any wrapped components stop at so that they don't crash into the window/insert. I don't quite understand the subtracting bit.

Link to comment
  • 0
  • Vectorworks, Inc Employee

That is a good point.

 

The honest answer is, given the complexity of the feature, the exact behaviors evolved a lot in the development process, and now I'm not sure. In the initial design of the task we thought of the closure object as the "jamb" object, and this may be a legacy of that mental model (wall should never coincide with jamb).

 

1 hour ago, line-weight said:

I'd have thought that's the wall hole component's job, to decide which parts of the wall get subtracted away.


This is true for the objects for which "Ignore Closure" is checked, the others are actually doing double-duty: they define the surfaces that participate in component wrapping (so finish components can wrap into complex hole geometries). For example:

 

image.png

 

from this hole geometry

 

image.png

 

  • Like 1
Link to comment
  • 0

The interaction between the "profile offsets" and "wrappings" tabs of the wall closure settings makes things a little confusing sometimes...it seems like they operate in their own universes and have to be persuaded to talk to one another.

 

I can see why you might define interior and exterior offsets according to the location of the window/insert. No doubt there are scenarios where it makes sense (for example traditional mass masonry walls where there are often rebates built in for window frames) but it doesn't fit so well with modern multi-component wall buildups. Because in these kinds of walls, if there are any step-backs or rebates they usually tend to occur at the interface between layers.

 

So quite often you will be trying to get a step-in or step-out in the wall opening, to occur at the boundary between two wall layers, but instead you must define it relative to the window/insert object. Which is always, ultimately, doable but takes a bit of fiddling around and possibly a calculator to subtract various dimensions from one another.

 

It would be nice if you could instead define offsets per wall component. That could make some of these gymnastics redundant.

 

Within the wrappings tab, I do think it's very confusing that you can set something to "wrap to insert" and to wrap to another component. Logically it should be one or the other. It seems the actual behaviour is that it will wrap to the insert unless it can't find it in which case it'll wrap to the chosen component. And that scenario is most likely to happen when there's a negative offset, for the reason that @AHiguera explains above (the wrapping element can't intersect with the wall closure component due to the inset).

 

But it's not at all apparent to the user that this is what is going on. Nor is it very helpful to the user, to be unaware that it can't find the "insert". What happens, is it can't find the insert, so it reverts to the "wrap to component" location but the user is still looking at the tick next to "wrap to insert" and wondering why it isn't doing that. They are already confused about the fact that they seem to be able to choose two wrap targets simultaneously. They will now start to fiddle with the "wrap to [component]" setting and quite possibly develop a superstition about one setting over-riding the other, which will not then match what happens in a different situation.

 

In my opinion it would be better if the "wrap to [component]" field were to grey out when "wrap to insert" is selected. If that fails, then ok, it's failed and the user may still wonder why that is, but they can choose to give up on that, uncheck the "wrap to insert" column and pursue a strategy based on wrapping to a wall component +/- an offset instead. The limit of any superstition is then "wrap to insert doesn't work if X" which may or may not be correct but is less likely to lead to confusion in the scenarios where wrapping to insert does work.

 

There could even be one of those pop-ups that are annoying (because they don't tell you why something's failed) but at least confirm that something has failed - "Wrap to insert has failed for wall component X"

Link to comment
  • 0
  • Vectorworks, Inc Employee

Objects in the 3D Wall Hole Group of a Symbol gain an "Ignore Wall Closure" checkbox in their OIP.

 

image.png

 

You can see when it is un-checked for this object the faces of the hole are offset from its surface by the relevant closure offset, and the finish component wraps around those faces of the hole. When this option is checked, the object is subtracted from the wall geometry after all of the closure geometry computations are complete (so it will cut through the already-constructed wrapped finish component as seen below).

 

image.png

  • Like 1
Link to comment
  • 0
7 minutes ago, AHiguera said:

Objects in the 3D Wall Hole Group of a Symbol gain an "Ignore Wall Closure" checkbox in their OIP.

 

image.png

 

You can see when it is un-checked for this object the faces of the hole are offset from its surface by the relevant closure offset, and the finish component wraps around those faces of the hole. When this option is checked, the object is subtracted from the wall geometry after all of the closure geometry computations are complete (so it will cut through the already-constructed wrapped finish component as seen below).

 

image.png

 

Ah, I see. Thanks. I wasn't aware of this possibility (nor that the wall hole component can contain multiple objects.

Link to comment
  • 0
17 hours ago, AHiguera said:

It's used internally to implement things like Sills that "punch through" wrapped finish components.

 

@AHiguera Thanks for explaining how this can be used.

 

Somewhat to my surprise.... I have managed to use it to create this window-head detail (nothing added in annotations here):

 

Screenshot2023-12-15at16_48_32.jpg.16a8e467b8a165531b2249d418b9e6a6.jpg

 

The grey thing is a folded steel plate lintel.

 

It needs a kind of notch taken out of the brickwork. So that notch/void that the lintel sits in, I made by adding some geometry to the "wall hole component" of the 3d symbol and told it to "ignore wall closure".

 

It takes that chunk out of the wall for me... but still lets me wrap the internal finish under it and up to the insert.

 

I realise this is potentially a (rather complex) way of introducing voids at reveals, as I was asking about earlier in the thread.

 

Only one thing tripped me up for a while - I thought it wasn't working - but it's because the objects in the wall hole component lose their "ignore wall closure" status if you use the push-pull tool on them. This was happening without me realising, and I was wondering why the finish was wrapping itself around the inside of the recess.

 

 

 

the wall hole component looks like this - the highlighted objects are the ones that "ignore wall closure".

 

Screenshot2023-12-15at16_56_23.jpg.148d71d137c5012436983e00780d40cd.jpg

Edited by line-weight
  • Like 2
Link to comment
  • 0
7 minutes ago, line-weight said:

It's not...but I guess it could be.

 

So the window symbol is clipping the hole in the wall for the lintel + the lintel itself is just a manually placed 3D object?

 

I'm just interested. I have done things similar where the lintel is a symbol inserted in the wall with its own wall hole component but then it gets complex with the wall closures because you're dealing with two objects (the window + the lintel)

Link to comment
  • 0
47 minutes ago, Tom W. said:

 

So the window symbol is clipping the hole in the wall for the lintel + the lintel itself is just a manually placed 3D object?

 

I'm just interested. I have done things similar where the lintel is a symbol inserted in the wall with its own wall hole component but then it gets complex with the wall closures because you're dealing with two objects (the window + the lintel)

Yes, just as you describe, I've got the lintel as an independent object just placed into the relevant location. But you're right, it could be part of the window symbol and there's a good argument to do that. Would make it easier to move the window position for example.

Link to comment
  • 0

So, now to the sill. Again this drawing is produced without any additions/alterations in the annotation space. It basically gets everything where I want it.

 

Screenshot2023-12-18at13_06_18.jpg.c741270786c0a4f0d4e16bf441278b61.jpg

 

No components need to wrap into the opening at the cill. However, the internal plaster layer needs to oversail the other wall components and continue up to the underside of the interior sill.

 

This is where it's a bit frustrating that we can't simply specify an "offset" per component. I've achieved what I want by adjusting the shape of the symbol's wall hole component and this works - but if for example I were to change the wall buildup slightly, so that the brickwork layer had a different thickness, or if I wanted to move the window inwards or outwards a bit, I'd have to go and edit the wall hole component manually too.

 

I have fiddled around a bit with the "profile offsets" and "wrapping" settings for the bottom of the window opening to see if I can get it to produce what I want (that inner plaster layer oversailing the other wall components) but as far as I can see, this isn't possible. Am I missing something?

 

Link to comment
  • 0
  • Vectorworks, Inc Employee
On 12/15/2023 at 11:55 AM, line-weight said:

Only one thing tripped me up for a while - I thought it wasn't working - but it's because the objects in the wall hole component lose their "ignore wall closure" status if you use the push-pull tool on them. This was happening without me realising, and I was wondering why the finish was wrapping itself around the inside of the recess.


This is arguably a bug. It seems what the push/pull tool is doing is creating a solid addition out of the original extrude and some additional geometry. If I ungroup the solid addition, the original extrude remains marked as "Ignore Closure".

Link to comment
  • 0
14 hours ago, AHiguera said:


This is arguably a bug. It seems what the push/pull tool is doing is creating a solid addition out of the original extrude and some additional geometry. If I ungroup the solid addition, the original extrude remains marked as "Ignore Closure".

 

I guess that's in "extrude face" mode of the push/pull tool. In "move face mode" the object is immediately converted to a generic solid with no history and loses its status at that point.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...