TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: Bill Tillman on February 03, 2012, 07:39:45 PM

Title: Create Viewport in Paper Space and Set Scale
Post by: Bill Tillman on February 03, 2012, 07:39:45 PM
The project at work is moving along and so far we're all pleased with it. The next phase will be to jump to one of the layout tabs, which will already be formatted and have the title block on it for 11 x 17 paper. Eventually we will want to use 17 x 22 paper.

I would like to create code which will jump to Layout Tab 1, create a viewport, set the scale to say 1" = 1'-0", and then position the objects that the code created in model space centered or to at least some desired view position in the viewport. Oh, yes, I guess after that I should lock the viewport. As I speak through this it sounds like it might be easier to manually create the viewport, set the scale and view to the model space area. The objects created in model space are created by VLISP code and are the same three orthographic views of the product, the size of course will change, but the scale of 1"=1'-0" should allow them to fit comfortably in the viewport on 11 x 17 or 17 x 22 paper.

Just a few pointers should help me get off in the right direction on this.
Title: Re: Create Viewport in Paper Space and Set Scale
Post by: irneb on February 04, 2012, 08:12:01 AM
Do you want to do this using true lisp code instead of simply command calls? Otherwise it's a rather trivial task to simply read the position of the MS objects, change the UCS according to side, issue the plan command, and zoom to them inside the VP, then zoom to a scale in the VP using the "Zoom" "#/#XP" option. The trick is to figure out what the command-line versions of the relevant commands need.

If you want to entmod the VP, then the dxf code 10 (http://docs.autodesk.com/ACD/2011/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-79c6.htm) hold the MS's WCS XYZ value of the center of the VP (like a target point for a camera). 16 holds the direction vector (similar to a UCS's direction) - like an inclination and rotation around the target point given in XYZ coordinates. 45 is the MS unit length of the VP's display height, 41 is the PS height - so the factor between these is the zoom factor (effectively the scale factor).

If you want to go the ActiveX route then look at the help here: http://entercad.ru/acadauto.en/idh_pviewport_object.htm
Note the same properties can be applied through the Center, Direction and CustomScale/StandardScale properties.


Title: Re: Create Viewport in Paper Space and Set Scale
Post by: kruuger on February 04, 2012, 05:51:21 PM
maybe something from this topic will help you
k.