DCarpenter Posted March 8, 2018 Share Posted March 8, 2018 See attached image. I've created a screen/projector PIO that I'm trying to add drape to on the left and right side of the screen. To do this I've created a 2D/3D drape program ("Drapeline") that I've inserted in as an "include" file into the screen/projector PIO. As you can see everything works correctly when I'm in Top/Plan view, but if I move to a Top view the drape moves back to 0,0,0 & 0 rotation. I've tried a bunch of 3D move and rotate commands but nothing seems to be effecting it in any 3D view. Before i jump off the cliff I thought I would post this problem to see if any solutions jumped out to anyone. Dave Quote Link to comment
DCarpenter Posted March 8, 2018 Author Share Posted March 8, 2018 Here's a theory, I believe I may be presuming that the "LNewObj" will return to me a handle to the entire "Drapeline" object, but in fact is only grabbing the last object created by that procedure. So I'm thinking I'll have to group everything within the "Drapeline" procedure and return a handle to that group in order to manipulate everything with the move and rotate commands. This makes sense in my small mind, does it make sense to you? Dave Quote Link to comment
DCarpenter Posted March 8, 2018 Author Share Posted March 8, 2018 THAT DID IT!!! I'M A FREAKING GENIUS!!! Quote Link to comment
JBenghiat Posted March 9, 2018 Share Posted March 9, 2018 Yes, unless Drapeline is another PIO, you are just calling a procedure and not making a new “Drapeline” object. Alternatively, you could pass an insertion point and rotation as part of the Drapeline procedure, and handle the move within Drapeline() You could also look at drawing the drape with a line style, which would likely simplify the code. Quote Link to comment
DCarpenter Posted March 9, 2018 Author Share Posted March 9, 2018 How would you call a PIO (*.vso) in your script? I've always thought it was better to do it as an "Include" file. Quote Link to comment
JBenghiat Posted March 9, 2018 Share Posted March 9, 2018 CreateCustomObjectN() lets you place the PIO like a symbol. You can suppress the defaults dialog with this call. SetRField() sets parameter data. The universal name of the PIO is the record name. ResetObject() will cause the PIO to redraw with the new parameters. Path based objects have their own create calls that also let you specify a handle to a path object. You can use this to insert any PIO— yours or a built-in plug-in. Quote Link to comment
DCarpenter Posted March 9, 2018 Author Share Posted March 9, 2018 That's helpful to know, I might give that a try. Thanks. 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.