Jump to content

Sam Jones

Member
  • Posts

    1,187
  • Joined

  • Last visited

Everything posted by Sam Jones

  1. Try the attached plug-in by putting it in the Plug-Ins folder inside your VW user folder and then adding the menu command to your workspace. It is an AutoPlot Plug-in, but it is fully functional for 2 months from the first time you try to use it. It is faster than the Instrument Summary, and it reports the selected mode, but it is not a plug-in object, so you will have to re-run the command if you want to change the settings. Let me know if you have any questions or problems. Sam sjones@autoplotvw.com AP Instrument Summary.vsm
  2. Using " 'LightPosition Obj'.'Position Name'='YourLPONameHere' " as a criteria is new and exciting. I was expecting to have to use a selection criteria like " ((R IN ['AP Light Position Obj'])) ". I can simplify many things by specifying record field values in the callback. Off to test now.
  3. Thanks Pat. Not clear enough; go for it.
  4. If I can get the name of a Light Position Obj (LPO)(Hanging Position), how can I get a handle to the LPO. Is the only option to cycle through all the LPOs until I find a match using a "ForEachObject() and GetRField(LPO, 'Light Position Obj', 'Position Name')? GetObject(name) won't work, because the name is not put in the "Name" field at the bottom of the LPO instance's OIP.
  5. Please, please, please, is there any way to turn off auto completion in the Vectorscript editor. 90% of the time I do not want what is suggested and the other 10% of the time I can type faster than trying to figure out what to do next, but I'm still presented with ever more and more annoying suggestions as I type.
  6. Try this theater seat plug-in: https://www.verysmallgroup.com/theaterow
  7. Sorry, I don't use those tools. Hopefully, @Jesse Cogswell can help here.
  8. I don't know what the "serie mode" is. Can you tell us the name of the command or give us a screen shot of the mode you are selecting? Also, are you using the current VW cable tools or the legacy cable tools?
  9. Since Python is often taught in Secondary school, wait for those who know it to chime in.
  10. What Pat said. Vectorscript (VS) is clearer and easier. Python has better string handling (I'm told), and programming requires a lot of string handling. However, for me, dealing with the lack of a debugger and a lack of requiring explicit variables and variable types, would make my life hell. There are many people who do a lot of really cool scripting with Python, so I have to think that I'm just too old and lazy to learn another program language syntax. I already know Basic, PL-1, Forth, and Pascal, but I would venture into the SDK and the C++ compiler before dealing with Python. Someday I should tell you how I really feel.😊
  11. I can confirm that this will work. Thanks. FWIW, if VW is going to include the legacy hoist, what would be the effort cost to put such a symbol in the folder mentioned in the shipping version? Hmm?
  12. Where is this class? How do I access this class? How do I store data in a (this) class? TIA!
  13. When I place a "Legacy Hoist Origin" object, only the "Cable ID" gets placed. No graphic identifying the location of the hoist origin is placed (shown?). This kills the Legacy Hoist as an option. What am I missing? I hope I'm missing something.
  14. @JBenghiat Please confirm: Get/SetObjectVariableBoolean() will handles "Boolean" values Get/SetObjectVariableInt() will set "handles "short"values Get/SetObjectVariableLongInt() will handles "double" values Get/SetObjectVariableReal() will handles "real" values Get/SetObjectVariableString() will handles "TXString" values What handles (gets/sets): "Sint32" "TransformMatrix" "void" write "RefNumber" Are the constants labeled "Public for VS" the only ones accessible to vectorscript? Yet again, TIA.
  15. To flesh out @michaelk response, AutoPlot Tools for Spotlight is a large collection of tools for entertainment drafting. There is a set of commands for making truss tapes: If you have questions and/or want a demonstration, let me know. Sam sjones@autoplotvw.com www.autoplotvw
  16. I would assume that if the symbol desired is not in the document that "GetObject()" would fail. If he has already loaded the needed symbols into the document, then, absolutely, GetObject() is the way to go. If he needs to get it from another file, I think he needs to build a resource list. No?
  17. If you want to use symbols from the VW Resource Manager you would need to do some kind of table look up to match "D" to symbol name, and you would need to get a resource list ID, "BuildResourceList()" or "BuildResourceList2"(). Then you would need to iterate through the list to find a name in the table that matched what was considered equivalent to the "D" symbol. Retrieve that symbol and place it. After that, you fill in the fields that you need to fill in. There are some variations to this, but nothing much simpler.
  18. We'll need more specifics as to what you mean by "update" a record. Exactly, how do you want change what field in what record. Are the values (both field name and field value) being changed the same across all libraries? Does the record exist in libraries you do not want to change? Does the record exist outside of the libraries? There is probably a brute force method of collecting field values and field links, and then re-defining the the records and reassigning the links and values. I haven't done this, but tell us the specifics.
  19. One step at a time: How would you know the code, "1*D", represented any Lighting Device in you resource manager?
  20. As Josh said place a static text item and then change the item type. Do this with the pop up menu in the OIP.
  21. The functionality you originally described is possible, I think, but it is way more involved to code, and it all hinges on the correct exact name of the symbol you need being stored in Lightkey[x]. If you jump that hurdle, you have to: Build a resource list Scan the list for the symbol name Go into the symbol definition to read values you need like Instrument Type (true name Inst Type) from the Light Info Record attached to the symbol definition, and do all the steps mentioned above. So, (pause here and take a breath), how badly do you need the functionality? What you need to do is not rocket science, but it is way more involved than what you were hoping for. Kind of an interesting problem actually, but everything hinges on having LightKey[x] provide the exact symbol name. You might make a translation table of LightKey to symbol name, but that is just another step and want that would need to be maintained. BTW: NewLD.Tilt = a1 NewLD.Pan = a2 just translates to SetRField(NewLD, 'Lighting Device', Tilt, a1); SetRField(NewLD, 'Lighting Device', Pay, a2);
  22. That's how you do it. CreateCustomObject('Lighting Device', X, Y, RotationAngle); but it's going to need more info than is in the worksheet you show. It is likely you will need to either by hand or by script transfer the information from the worksheet you show to one that will then have all you need and that you will read the values from. Get the handle to the fixture you just placed with CreateCustomObject('Lighting Device', X, Y, RotationAngle); NewLight := LNewObj; You are going to need way more info in your worksheet, because you need to set the parameters of the Lighting Device, and you will need to set fields in your code that the "Lighting Device Tool" would normally pull from the symbol selected. At a minimum you will need the Symbol Name of the fixture you want to place. You can then go into the symbol definition and pull some of the information from the "Light Info Record" attached to the symbol definition. This all assumes that the needed symbols are already in the document. There will be information you want to set that is not in the "Light Info Record" that had better be in your worksheet. Getting the correct symbol name from the key referenced by the 'Qty and Code' column seems unlikely so you would have to reference some translation file or worksheet. If you have the information, setting the parameters is straight forward. SetRField(NewLD, 'Lighting Device', 'Symbol Name', 'Light Instr Martin MAC Viper Profile'); SetRField(NewLD, 'Lighting Device', 'Inst Type', 'Martin MAC Viper Profile'); SetRField(NewLD, 'Lighting Device', 'Fixture Mode', 'Martin Mac Viper Profile Basic'); SetRField(NewLD, 'Lighting Device', 'Fixture Mode', '1225W'); {Etc, etc, ...} I'm not sure what the values in your Switch Mode columns are, but you would need to figure that out and send the values to the correct parameters. Lastly, ResetObject(NewLD); None of this is rocket science, but it is a rather involved script that would be broken by entries in the Calculux worksheet that you did not match correctly/exactly. Where does the Calculux table come from? Maybe there is better way to get the information. Probably not, but maybe. How badly do you want the functionality you describe? You might aim lower by making a script to mark the locations with loci or a symbol and then placing the lights by hand with the Lighting Device Tool. It would be nice to use CallToolByName() in your script, but doing that with the Lighting Device Tool makes you click on locations to place the lights.
×
×
  • Create New...