Assembly Posted November 20, 2009 Share Posted November 20, 2009 A few months back I posted some questions about the creating PIO's Inside a PIO. Since upgrading to 2009 this method is working a treat. I see some great potential so I thought it worth sharing. This is what I have done. I have created a base object called Frame3D. This is a simple extrude that creates a piece of timber framing. I created a FrameStud PIO. Which creates a Frame3D Object and rotates it into the stud position. Basis of this method: objectname:='Frame3D'; hobject:= CreateCustomObjectN(objectname,0,0,90,False); SetRField(hobject, objectname,'framewidth',Num2Str(0,framewidth)); SetRField(hobject, objectname,'framedepth',Num2Str(0,framedepth)); SetRField(hobject, objectname,'FrameType','Stud'); A did the same to make a: FramePlatePIO FrameNogPIO I then created a WallFrame PIO (line) that inserts and arrays the: FrameStud FramePlate FrameNog To create a framed wall. Here is the good part. I then create a record that searches for the original Frame3D object (including search inside PIOS) and BINGO I have a full schedule of every piece of framing. Quote Link to comment
Miguel Barrera Posted November 20, 2009 Share Posted November 20, 2009 Why do you need the Frame3D object to place another pio? Could the framing object position itself? Can the objects update themselves if there is a change? You could also assign all framing members to a class and then search for the class to get a report. As I remember, this is how I got the report in the WallFramer app. Quote Link to comment
Assembly Posted November 20, 2009 Author Share Posted November 20, 2009 (edited) Yes the 'child' object is updated by the parent object. If you convert to group, then ungroup you have access to all the child PIOS. I too have played around with the framer tools and used class to search with reasonable result, the framing tool is quite good. But there are a number of process that you go through that have to be repeated when you make change. Example of why I see the potential using child objects as powerful. The tool does not stop with the framing. Create a Simple Fixing Object tool. Create a Fixing object array tool Create a Lining Tool. Include the fixing array. Create a Building paper. Create a Cavity Batten Tool Create a Cladding tool (allow to extend above and below framing) Add fixing array again. Add M12 Bolts at required centers. The line tool now generates the entire population of objects for a wall, that can be Scheduled. 2) Use similar family of tools to create a Floor faming object. 3) Again Roof framing object. Now make a Shed Object. All you need for the shed object is the width, depth, height and roof pitch. This is all the information required for the script. Use a Case to set the framing depths to the Building Code structural requirements. Based on this info the Shed object sets the values for the floor object, wall object, roof object, Now you have the complete modeled of every component that can be scheduled. Edited November 20, 2009 by Assembly Quote Link to comment
Kool Aid Posted November 21, 2009 Share Posted November 21, 2009 I agree with Justin. The missing bit is ?wall-like behaviour? for custom PIOs: ?Accept inserted objects? that could be used to create holes as in walls. Then I could create the sandwich element tool, which is crucial in this part of the world. 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.