Jeremy Best Posted November 7, 2022 Share Posted November 7, 2022 Hello community, I've been beating my head at this challenge for a while now and have decided I need help. Mental help (from all the beating) and technical help. It's a very simple workflow, but it seems to hinge of aspects I can't get my head around or find solutions for. Currently there is a bug in Interiorcad that prevents hatches of 'coverings' (veneers on door fronts) from showing up in Hidden Line renders. This used to work but not since around VW2021. They become visible after the cabinet (a plug-in object) and then the door is ungrouped. A bug fix is not fast coming so I thought I'd try to make an automation that: Makes copies of the original objects (so as not to loose the parametric control). Ungroups the cabinet, then ungroups the door/drawer fronts to make the hatch visible. Put them on a seperate Design Layer so they don't interfere with the design process. I found that Marionette scripts can't ungroup these cabinets, but they can extract copies of the components within. If I extract the cabinet doors, they still need to be manually ungrouped once extracted before the hatch will become visible. But if I extract just the door coverings instead, they don't need to be ungrouped, but they loose their position and orientation data. They end up flat on the 'ground' at 0,0. I'm looking for guidance on how to record the relative positions of all door and drawer fronts, extract all their 'coverings' and reapply their position and orientation data so they end up where they were in 3D space. (They will be superimposed in Sheet Layer Viewports). I've attached both my development files: Revealing Door Coverings, (Copying out the door and drawer fronts) and Extracting Door Coverings. (Copying out only the coverings/veneer objects). @DomC, I saw you've worked with Interiorcad cabinets in Marionette before. Do you have any insight that might help me? Cheers, Jeremy Revealing Door Covering Hatch.vwx Extracting Door Coverings.vwx Quote Link to comment
DomC Posted November 7, 2022 Share Posted November 7, 2022 Hello every container has its own coordinate system and rotation plane. If you pull out something inside a PIO, you have to attach the PIOs Plane (Entity Matrix) on it, to convert it to the World Plane. It works, if you get the plane of the parent Object (custom part) and attach it to the Covering. O .... K, While I am writing I see, that this is not the end-solution. Because the Covering is nested in a Custom Part which is part of the Cabinet. So we have to combine the entity matrixe's of the cabinet AND the Custom Part. Another approach would be, to "convert to group" the whole cabinets and then grabbing the coverings out of the result. Quote Link to comment
DomC Posted November 7, 2022 Share Posted November 7, 2022 (edited) Got it for an example, in which the Cabinet is not rotated. At the Moment I am overhelmed by calculating the rotation angle through both PlugIns. offset it easy. It is offset vector Cabinet (related to World coords) + offset Vector Custom Part (Related to Cabinet PIO). The Rotation Matrix is cabinet angle + custom part angle or cabinet angle - custom part angle. But the rotation could be on 3 axis and it debends on the order how those angles are calculated. I think the "Matrix" Nodes would do the job but nobody seems to know, how they can be used. Because the "Set Entity Matrix" needs x y z angles and the Transform Matrix delivers u v w and x y z values. I once short got busy with it but still hoping that someone else can solve it with the Marionette Node🙂 The other thread about the Transform MAtrix: Custom Part Entity.vwx Edited November 7, 2022 by DomC Quote Link to comment
Jeremy Best Posted November 8, 2022 Author Share Posted November 8, 2022 Hey @DomC, thank you so much for contributing that! It was a massive help. I'll ask the Vectorworks peeps about the issues with rotation as the discussion you referred me to is way beyond my mathematic or programming comprehension! Thanks again! Jeremy Quote Link to comment
Recommended Posts
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.