Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by LarryO

  1. Resolved I needed to exit viewport annotation mode before attempting to change layers. DoMenuTextByName('Group Navigation Chunk',2);
  2. Anyone know why Layer() doesn't completely switch to the active layer when in the user is in Viewport Annotation mode? Or is there another function I'm not aware of in lieu of PickObject that accepts coordinates and a layer handle? I use: VSave('TempView'); GetPt(SelectPtX,SelectPtY); ObjPtX:=SelectPtX-(VPOriginX*VPScale); ObjPtY:=SelectPtY-(VPOriginY*VPScale); Layer(Lname); PIOObjh:=PickObject(ObjPtX,ObjPtY); VRestore('TempView'); VDelete('TempView'); in that order but PickObject() doesn't detect the object at the specified location. If I don't restore the saved view I am left seeing the specified layer on screen but only the now invisible objects that were in the annotation area of the viewport remain selectable. The exit viewport annotation button also is active in the top right corner. So vectorworks still thinks I am editing annotation but now shows the specified active layer objects which do not appear to be selectable. As per my previous message I am attempting to get a handle to an object that I see while in viewport annotation mode in order to extract data from said object. I will capture the visible layers of the viewport and I attempt to use the calculated point with PickObject() to get the object's handle before returning the user to viewport annotation mode. Thanks
  3. I like using two monitors. A wide screen type for my primary is a must. With my palettes either to the far left or right of the primary. This way I can see it all by only moving my eyes and not my head. My second screen I usually place reference materials like a pdf or second drawing file with the screen slightly to one side of the centre primary screen. I seem to acquire less paper clutter over my keyboard and mouse surface by doing so.
  4. As many shortcuts as I remember that can be selected with my left hand, thumb and two fingers max. Otherwise I find I am looking down for where I left my mouse (right hand) and or straining my hand muscles or is that ligaments. I for as long as I have used VW/MiniCad have switched the #1 & #2 shortcuts so that #1 is line & #2 is text. Also having a keypad at the left side has significantly reduced the frequency with which I reach across the keyboard to press enter or return. I found I used add and subtract surface when I switch the default shortcuts but forgot what keys they were while I worked in an Autocad office. It is easier to use the pull down than to release the mouse and use my right hand for the default - combinations.
  5. Not sure I have quite grasped the complete scope here but isn't this something that could be accomplished by passing two vectorscripts to Vectorworks via (on Mac platform) Applescript and the DoScript command? First vectorscript passed would Open the source file, parse the data, save said list to an external data file, close source. Second would open destination file, read in saved data, then save and close destination file and delete external data file.
  6. Thanks Josh, The where am I locus technique was one of the first techniques I needed back in the 90's MiniCad 5 for switching & setting standardized classes to work at the push of a keyboard button. It was very satisfying the first time I used it successfully. What I was having troubles with was inconsistent results when investigating the number of parents while trying to capture the viewport handle. I was initially using a PIO point object for my code because the object I need displays information in a viewport annotation space. A link is required to the measured object in a drawing layer to keep the data current. I was trying to setup that link and place the annotation PIO within the code of that PIO. I am realizing now that I will probably need to use a Tool script to link and place that annotation PIO and then add some code into my measured PIO which will force an update of the annotation PIO whenever the measured PIO's data is changed. Another little fun project for my spare time.
  7. Know that 0,0 the origin of a PIO is the same concept as a symbol. Where you click the mouse during placement is 0,0 inside the PIO environment for a Point type PIO. I you are new to programming code/languages and don't think you can juggle all the process in your head write it on paper. Take a shell script as your starting point, no code between the first Begin statement final End statement. Determine you input parameters. Know that when retrieving their values in your code you place a 'p' in front of the name you gave them. You need three for this project; two text types and one drop down list. The latter for the colours. Know that a Handle variable is like a leash to your dog. So immediately after creating an object like your Hexagon or text field you will want to capture and store in a variable its handle. This is primarily true if you set all the object's characteristics after its creation instead of before or during creation. I find it easier to search for and understand the commands I need by having the language guide open on a second screen in my web browser. Try using BeginPoly; AddPoint(x,y);...EndPoly; for your hexagon. You can capture the 6 vertices of the hexagon in your symbol and use them if the hex is centred on 0,0. Getting your text placement to your liking is similar but may be a little harder the first time around.
  8. I've used the Razer Death Adder for the past couple of years. I found that most mice on the market were too small in my hand so you were forever having to grip them with your finger tips instead of moving them with the palm one's hand. This is a corded mouse with close to 1.8M[6'] of braided cord. Held with the right hand. Has two well place thumb buttons which are good for layer/page up and down functions. There is a driver for both Mac and Windows platforms. It uses the cloud to remember your settings should you use more than one computer. Those settings can be application specific and/or global. The polling/scanning rate is adjustable from 100 to 3500. I use it at 1800. And if you are a admirer of glitz/glamor the internal led lights can be on or off with one model having changeable colours. Check around on the price. This isn't a dollar store mouse and I have seen some outlets price it over $20 above the average retail price which was about CAN$65 last time I bought one (Jan 2015). Driver/software updates seem to be automatic on both platforms. The only problems I've had is on glass and wood grain finishes. Then I lay down a playing card mat which is essentially a thin mouse pad the size of a large placemat.
  9. Does anyone have a technique for getting the handle to an object which is seen through a viewport and chosen/picked while in annotation mode? Ultimately I wish to extract data from an instance of my PIO when placing a custom PIO annotation tag. BUT first I need to some how capture the handle of that PIO that I am seeing in the viewport.
  10. Do you have an extra END statement? There is a limit to the number of characters permitted. Reading from the Function Reference I would say SetDimText is doing exactly what it is supposed to do. Replacing the dimension text. "Procedure SetDimText will set the dimension text of the referenced dimension to the specified value. The maximum length for dimension text is 60 characters. The first 30 characters of the specified dimension text string will be displayed in the primary dimension string; the remaining characters will be displayed in the secondary dimension string, if it exists." Perhaps using SetObjVariableString(Handle,10,'STRING'); followed by ResetObject(Handle); or SetObjVariableBoolean(Handle,6,TRUE);
  11. The middle circle appears to have it's radial axis rotated 90? CW about the circle's centre origin. If this is not clear to you take a circle and change the 360? in the OIP to 180. Now do a 2nd circle but rotate it 90? before changing to 180?. The start point of the arc is the circle's radial origin. The sweep definition is connecting the radial/circumference origins of the three circles then moves onto the next segment in the rotation about the circle's centre origin.
  12. Does anyone know of the correct method to batch print a series or selection of sheets utilizing both sides of the paper? My printer permits "two-sided" (double sided sided) printing. I have successfully done so from PDF booklets. It seems such an unnecessary step to export from VW to pdf and then re-assemble the pages before one can print a booklet. When I attempt to print from VW using batch printing the sheets still come out one-sided even though I've selected the two-sided option in the printer dialog. Thanks Larry
  13. The stuff between the curly brackets {stuff} is ignored by VW when running the script. Paired curly brackets are simply a means to add notes anywhere into the script, usually to leave yourself clues as to what your script is doing when you look at it weeks later and say what the heck did I do here. :-) The script above might not stop for the user to utilize the text tool before resetting the class back to the initial active class. Larry
  14. A vectorscript tool to improve the text tool. Create the tool's script; insert it into your tool workspace; remove the short cut from NNA's text tool then apply it to the improved text tool. Disclaimer: I've not tried or debugged this, it may flop or not produce the desired results. I'm thinking something like this. Larry PROCEDURE ImprovedText; VAR PopClass:String; BEGIN PopClass:=ActiveClass; NameClass('text'); {this also creates a class if it doesn't yet exist. Note: max 20 characters.} CallTool(-200); {-200 is the VWorks text tool} {this is where the script might fail. It may not know when the user is finished with the text tool, not proceeding onto reseting the active class} NameClass(PopClass); END; RUN(ImprovedText);
  15. Thanks guys. I successfully utilized the SetParameterVisibility to hide or display parameters of my beam coping plug-in. By hiding optional parameters the object info palette is more readable for the majority of the plug-in's instances. Larry
  16. Is the means to show/hide and activate/deactivate parameter fields (in the object information palette) part of the Vectorscript command set? Or does one need to utilized the SDK to enable these types of functions? If it is in Vectorscript, what class of function is it? Are they Compiler related conditions like using IF? ???? Larry
  17. Thanks. I guess the text was so small I couldn't see that the menu item said zoom! lol Larry
  18. I cannot seem to find a means to enlarge the text in the work/spreadsheet editor. I'd like to change the zoom factor to 125-140%. I could lower the monitor resolution or buy another pair of eyeglasses for viewing the editor, but neither seem practical. Larry
  19. Thanks Josh, I'll see what its potential is on my next project. Would be nice though if the developer Function Reference also listed what integers are valid and their corresponding purpose or a link to find the information. The function isn't even listed in the offline reference I have. Larry
  20. I found a solution in using "Flip3DObj(handle,boolean)". It works on 2D symbols as well and flips them about their origin. Has anyone developed a simple method to flip or mirror a 2D-symbol about it's origin. Either X or Y axis will work. Preferably using the Handle of the symbol's instance. I need to maintain the origin of this symbol instance at [x,y]=[0,0] within my Plug-in object. I already know the symbol's current state. Not flipped. My symbols are right-handed and need a simple flip to be left-handed. Like a field hockey stick with the origin at the top end of the stick. I'm hoping to avoid having to load up my file with left-handed definitions. I'm curious what it is that the ISFLIPPED criteria searches for in an object definition. Perhaps a Handle scaling tool which allows a negative x or negative y factor would do the job? Thanks, Larry
  • Create New...