Jump to content

LarryO

Member
  • Posts

    428
  • Joined

  • Last visited

Everything posted by LarryO

  1. This would essentially be a Boolean parameter for PIOs which does not look like a check box. It could have two script loaded images (tool resources?) to display in the OIP to indicate the state of the button and return TRUE/FALSE. The same concept applied to a Radio Button parameter. Each choice having the ability of displaying one of two images (no text or radio button). Default image = non-selected, Alternate image = selected option. This could possibly lead to additional functionality of being able to select more than one option. This could be achieved by passing indices or Boolean flags back to the script. A PIO script can easily parse the result via a case statement. Once UTF-16 is fully implemented there maybe sufficient glyphs available that a button outline with text embedded will be able to convey the desired thought. The outline or background would alter to convey select state. Please ignore if this is in the current version. This office is using VW2013
  2. I certainly hope that the following is a non-starter. This concept of embeding functionality into a multi-purpose tool is a time waster. The ability to edit one's workspace environment is where this type of action is best addressed. Create a new palette for items that one perceives as functionally similar; drop items that your usage doesn't warrant access to, but please do not embed functionality into another selection tier that must be chosen before the tool can be accessed. Can you imagine having to select a pencil tool to draw something then a pull-down menu to choose between a line/circle/rectangle/double line/etc. where circle is the first and default selection because of alphabetical sorting of the pull-down. As it stands I am frustrated daily with the fastener tool which in VW2013 is the only means to draw structural bolts. The default is determined by a pull-down menu where the first item in the list (the default) is a socket head bolt (rarely if ever used in structural assemblies). Then you have to choose the corresponding structural nut. Which could have been a default because unless you are building a go-cart you would never mix non-structural with structural components.
  3. Actually I only need to temporarily store the revision value for display and manipulation in the PIO because the data for the script is retrieved from the record attached to the user editable titleblock symbol. I didn't want to hard code titleblock layouts into this PIO so I used a symbol to visually to that part. The PIO script is primarily for quality control and an interface through the OIP. (drawing file sheet name = titleblock sheet name, etc.) Hence my efforts to use the most relevant looking parameters to convey intent as well as functionality in the OIP. In this instance I have been hoping for an increment/decrement function with display of the current value in the OIP. The users eyes would not have to travel back to the titleblock to know they have the correct revision number after pressing an up or down arrow. A three value radio button is close to the concept. If only I could change the centre value on the fly so to speak. In a previous topic I was hoping for a two state button (boolean) that didn't appear as a check box. I went to learn about buttons but soon I realized I would rather not event enable simple things like titleblocks and parametric symbols when it is only to enable the interface and not the object, mainly because there are other aspects of event enabled PIOs that make managing the OIP challenging. My brain also started to hurt while I was trying to understand the logic behind having to call and create so many functions to enable a single event based button in the OIP.
  4. Thanks guys, You were both correct to some degree. I created a custom title block that has a revision number displayed among other things. I have wanted to control it so that only whole number increments in sequence would be entered. I am attempting to avoid using event based scenarios; just too much overhead for the desired task. So I was seeking to re-purpose a radio button parameter for the task. In my PIO field 'Revision' default choice index 1 there is a '+' sign index 2 there is the initial default revision number '00' index 3 there is a '-' sign When you save the revision number of the PIO instance back to the 'Revision' field it becomes stored even if it is not one of the selectable choices. So if I store 02 there no radio buttons will highlight in the OIP but the number remains stored and accessible until a button is again selected. If I can replace index 2 of the default choices temporarily with that number at the begining of the PIO script and back again at the end to 00 then the current revision number of the selected PIO instance will display and appear selected in the radio buttons. Pressing the radio button with the '+' is going to increment the revision field and correspondingly the '-' would decrease the revision number. I tried to use that NIL trick with SetRField but nothing changed. Perhaps because it is a radio button type field or perhaps because I'm in the PIO environment. I remember there being a difference between the definition and instance when working with symbol records which maybe my missing link here. I also would think that the function I'm searching for there needs to be a means to specify the choice index location in order to replace or store a new value, in this case at index 2. Like a corollary function to GetLocalizedPluginChoice which is used to retrieve those default values. Oh well I can always use a Static parameter to display the current revision number above the increment/decrement radio button. I'll have to find some sort of extended characters for the middle index like up and down arrows or an emdash that will be the stable setting.
  5. I know to get and reset the value of a PIO parameter instance using GetRField and SetRField but what is the route to rebuilding the "choices list" of a particular parameter field? I don't suppose it is unique to the PIO instance but probably a global to the PIO definition. Would GetObject and SetObjectVariableString be the route? There is no SetPluginChoice or SetCustomObjectChoice is there? Or do I just need a handle to the PIO definition and use SetRField? And is this separator for the entries in the choices list or is it indexed somehow? &div& Larry
  6. If you want drag/select and drop functionality then adapting the resources palette to your needs could be the focus. Click/select then click/place would be a tool palette adaptation. A callout is essentially an object; it can be wrapped into a plugin object for the former arrangement or a tool for the latter. I'm not sure how the former is done but one only need to look at the column plugins to know that it's possible.
  7. For those that have the landscape functionality, they can check the plugin's folder for files with names similar to the tools used to place or manipulate the plants. If plants similar to the arrangement used for steel shapes there will be a tab separated data files used to populate menus, pull downs etc. Even the string data should be retrievable for language adaptations.
  8. Thanks guys for the starter info. I read through that vectorlab posting and the sdk manual. I tried a few snippets from the examples, but this is getting messier than I anticipated. It would seem that parameter visibility functionality is related to the index number of the parameters in the parameter dialog and not the parameter name. Leads to some strange/complex behaviours when populating the OIP and the order of the parameters is altered in the parameter dialog, particularly if button placement is not the last OIP item. I am concerned that all the extra code required to track and maintain consistency of appearance in the OIP is going to bog down the user experience if many instances of my PIO are placed in the drawing environment. All I really wanted was a two state button, depressed / not depressed, that doesn't resemble a check box. ie: a boolean that looks like a button with the alternate name showing up on the button. I easily figured out how to reset the boolean at the end of the PIO script, but changing its appearance to make it appear more intuitive (like a push button switch) stumped me.
  9. Other than pouring through the examples to extract the typical event index numbers, where does one find a complete list of the predetermined event indices? I could not find the list in the vectorscript appendices. Or have I got the concept wrong and these are all constants which the script must define as required? In which case I should be seeking out a list of constants used for event tracking. Will an error be generated if your button ID is the same as another event? (newbie question :-)
  10. If you are adding or editing significant quantities of text you should explore the interface of each before deciding upon which functions best for your use. On a Win platform if the capslock is on the shift key will switch to lower case not so on the MAC. If you are accessing anything more than the a basic american/roman character set the Win10 will require a support application to get any real amount of work accomplished. Typing pi, degrees, diameter, approximately equal, delta, jot are simple extended keyboard functionality on the MAC but require the character viewer on Win10 without a helper app because ALT+ sequences do not always bring up the expected character. Multi-screen functionality has change in the past few years on the MAC too, used to be that one could have a second screen with palettes on it to leave the primary screen solely for the drawing area but changes have resulted in unresponsive activation of tools if they are not on the same screen shared with the drawing environment. This is the case with 2013 and may have improved. The Win platform uses the extended desktop concept but MAC is migrating to second/3rd desktop concept with multiple screens. There are certainly other variations related to system integration aspects, printing has been a common one, but network access and your other programs also play into it all. Like substandard Outlook functionality on the Mac. Hope that helps.
  11. I wasn't quite as clear as I could have been. Plot is rectangular in top plan view. Below is ISO view and side view showing an extrude where the hole needed to be and the perimeter that was created from convert to NURBS. An imaginary line should connect the two mid points which identify where the fold would be. The transition to sloping surface. Eventually after getting an unsatisfactory surface with six points I applied the KISS principle and broke the bent plane into two NURBS surface objects. Did a solid addition on them and then applied the Project tool as mentioned. Voila! Small success has given brief feeling of happiness. Thanks to all who helped.
  12. Wanted simple 3d rectangular surface with rectangular hole. Has no thickness when viewed from side (edges) and can be sloped and rotated. I tried 3d polygon and drew the desired perimeter. The result is a creased sheet of paper, folded about 15 degrees along a straight line across the page. But cutting a hole out of the page seems to be impossible without snipping the sheet into two pieces. To be used as a ground plane that doesn't hide a building's foundation with a thickness or depth.
  13. VW 8.5 offers no $ discount towards purchasing the current version VW2017. Any version older than 2 years was depreciated to zero $ last year.
  14. Having never been exposed to Python it didn't seem like the obvious answer to me. (OLD school here: BasicPlus, APL, Pascal, C++, Vectorscript) None the less I spent 20 minutes searching for how to call up Python within the 2013 version of Vectorscript on Mac and found NIL, nothing and frustration. In the end I wrote another eight lines of code and added three variables into my Plugin to organise the output of the two platforms separately. Sorting the two outputs into a standardized format of YYYY/MM/DD, no dashes, no single digit days or months. But I did appreciate the reply, thanks Josh. Larry
  15. I have been using the DATE(2,0) procedure to capture the current date for our custom titleblock. What I've found after rewriting some clumsy code for our WIN10 machine that I'd originally wrote on the Mac platform is that the format delivered is reversed between the two platforms. The Mac outputs D/M/YYYY and the PC supplies YYYY/M/D. Very frustrating indeed! The Mac system option is set to display the short form day as YYYY/MM/DD as this is the desired format. Has anyone explored whether this format is set by the user at the operating system level or is it a static difference between PC and MAC platforms? [a bug? in the Date(#,#); procedure] VW2013
  16. I created a drawing file which contains our firm's page setup, drawing sheets, and a number of resources. I had been storing it in a typical folder on the server along with other library files. In the page setup dialog we have set the Application Resolution to 600 DPI for printing our gray scale tabloid pages. This past week I attempted to save this library file as the default.sta template so that I wouldn't have to navigate to the library folder on the server each time I needed a new project file. But what I've found is that the Application Resolution setting changes to 300 DPI on all the saved sheets. Is there a reason behind this action? Our printers support up to 1200 DPI. iMac Sierra running VW2013 I had hopes for using the default.sta template to stop accidental changes to the library version, which happens every time someone forgets to "Save As" the file to a new project folder. Larry
  17. The biggest help that paper tombs had were extensive indexes in the back to find generalized areas and specifics. Like if you want to find a means to cut an image. With today's often dumb search tools the you might enter CUT IMAGE and it would return references to every time the word cut is used and every time the word image is used. This results in too many items to scan often on multiple pages in no particular order. A great deal of thought went into indexing a volume, not so much these days for search tools. This is especially true when you have a concept of what you want to achieve but don't know what the terminology might be that was used in the electronic manuals to begin a search parameter. This is also why many internet stores fail to achieve their full potential because the potential buyer doesn't find what they are looking for without wading though everything the store has to offer, and in some cases never finding out if the object is even in the inventory list to begin with.
  18. Does it matter that you have not declared your VAR globally in the function header as in the example shown here http://developer.vectorworks.net/index.php/VS:RunLayoutDialog Never tried using custom dialogs myself. L
  19. Thanks guys for the answers. I will now be able to update my tools so they leave the drawing file settings as found. Yeah
  20. Which function permits the setting to be achieved? When using PrimaryUnits or Units the 'Rounding Style' will change to Fractional or Decimal. We want to be able to return it to 'Exact as Fractions / Non-Exact as Decimals'. My searching has yielded no results as usual. Arrgh
  21. THANKS Now to figure out which variables will properly set that crazy WideFlange beam PIO
  22. Does anyone know if it is possible to call a plug-in from within the vectorscript of another plugin. I would find it useful to be able to place an instance of a wide flange beam or a channel in my script.
  23. Could it be that the call to the text tool doesn't return you to the plugin script after the task appears finished? resulting in the PopAttrs; not being executed. I think you need to use CallTool(); instead of SetTool(); You could test this in one of two ways. By sending a Message('positive progress'); to yourself after the SetTool(); statement. If it doesn't pop up and you need to use SetTool(); you'll need to approach the task in a different manner. Another way to specifically deal with the active class setting is by capturing the active class at the start and resetting it at the end of the script. VAR activeClName:STRING; BEGIN PushAttrs; activeClName:= ActiveClass; {the PIO script} PopAttrs; NameClass(activeClName); END; Larry
  24. Thanks Andrew. That insight is very helpful. There was a time when the documentation that came with a program was as robust and informative as the application itself. Now it is more of a guessing game as to what key words a search tool will respond to (and hope there is a wiki entry somewhere out there to find)
  25. Does anyone have an example of how plug-in strings are utilized? Is the information extracted using the resource ID? is it supposed to be used like a database, hidden function flags, expanding a data list like colour names or class names?
×
×
  • Create New...