Jump to content

MullinRJ

Member
  • Posts

    1,987
  • Joined

  • Last visited

Everything posted by MullinRJ

  1. Peter, Do you still have the file in question? You can send it this way if you want. Raymond
  2. Hello, @bbrown6. I just saw this post. How many files are you talking about? I have the old software and Ye Olde Systems needed to do conversions. Please send me a PM if you still need help. Raymond
  3. Here's a partial map of the Object Variable numbers for the Viewport Lighting Options dialog. ObjVars 1014 and 1302-1304 are described above. ObjVar 1269 is clear as mud. ObjVar 1269 is another object variable that you can read, but cannot set. Or at least I have not found a successful way to set it. If you read it with GetObjectVariableInt(), or GetObjectVariableLong(), you will get the numbers 0-3, or 5 which correspond to the settings shown below. If you try to set the object variable, the values and the menu don't change. I assume the inability to write to variables 1269, 1303, and 1304 is a bug and I'll report it in the morning. If I find out it's WAD, I'll post back so you know, otherwise I'll post back when it gets fixed. Sorry this didn't turn out better. Raymond
  4. @Fuge, REDO... Now that I have played with it a little, I'm going to revise my previous guess. With ObjectVariables 1014 and 1015, I can read and write to both Viewport variables: VP_Amb := GetObjectVariableBoolean(VPhand, 1014); { Viewport Ambient } VP_Amb_Bright := GetObjectVariableReal(VPhand, 1015); { Viewport Ambient Brightness } SetObjectVariableBoolean(VPhand, 1014, True/False); { Viewport Ambient On/Off } SetObjectVariableReal(VPhand, 1015, 0.37); { Viewport Ambient Brightness - 0.0-1.0 } However, I can read and write to ObjectVariable 1302. AO_On := GetObjectVariableBoolean(VPhand, 1302); { Ambient Occlusion } SetObjectVariableBoolean(VPhand, 1302, True/False); { Ambient Occlusion On/Off } But, I can only read ObjectVariables 1303, and 1304. AOStrength := GetObjectVariableReal(VPhand, 1303); { Ambient Occlusion Strength - 0-100 } AOSize := GetObjectVariableReal(VPhand, 1304); { Ambient Occlusion Size } If I change the values for "Ambient Occlusion Strength" and "Ambient Occlusion Size" in the Lighting Options dialog box, I can read my manual changes, but if I try to set the values by script, the settings do not take. More on the "Indirect Lighting" setting in the next post. HTH, Raymond
  5. Dave, I haven't tried these, but give them a whirl. They look promising. SetObjectVariableBoolean(LYRhand, 150, True/False); { Layer Ambient On/Off } SetObjectVariableReal(LYRhand, 151, ###); { Layer Ambient Brightness - 0-100?; you'll have to figure out the range. } SetObjectVariableBoolean(VPhand, 1302, True/False); { Ambient Occlusion On/Off } SetObjectVariableReal(VPhand, 1303, ###); { AO Strength - 0.0-1.0? or 0-100?; you'll have to figure out the range. } SetObjectVariableReal(VPhand, 1304, ###); { AO Size - you'll have to figure out the values. } HTH, Raymond
  6. Use: SetObjectVariableBoolean(LNewObj, 1160, False); after you create the text to place it on the Layer Plane. I’ll post an example when my internet comes back. Raymond
  7. Hello @Evert Vandeberg, Try this: OBJECTS = [] def collect(handle): OBJECTS.append(handle) vs.ForEachObject(collect, 'VSEL & (T=LOCUS3D)') vs.AlrtDialog('Num selected objects: {}'.format(len(OBJECTS))) Raymond
  8. In adding to what @C. Andrew Dunning just posted. Look at the Num2StrF() function. It will format a dimension value to the current document units. So, if you work a problem in inches, but your document units are mm, then Message(Num2StrF(1")); will show '25.4 mm'. This may help your dialogs present document units, not calculation values. ValidNumStr() works in the opposite direction, converting formatted string data and returning dimensioned numeric data. Bottom line, there are several ways to skin this cat. (Apologies to all cats for that last remark.) Raymond
  9. No, North Texas. About 25 miles north of Dallas. No storms! Just heat. The good news is that it didn't take until midnight to come back on. Only about 90 minutes down. Next week is forecast to be up to 10°F hotter. If you don't hear from me, you'll know why. Raymond
  10. I just checked the DevWiki. My memory’s not shot yet. 152 is the upi Pref Index. 😁 Raymond
  11. There’s also a VW Preference, 152? (I’m guessing because power is out and won’t be back until after midnight) that returns Units Per Inch. upi := GetPrefReal(152); You can scale dimensions by that value. Check the number, though. Raymond
  12. Hi @grant_PD, Thank you. At the moment you can PM me and I will send you instructions on how to try Reshaper for 30 days or pay for a license. All the best, Raymond
  13. Did I hear my name? It is something that Reshaper can do. In Front view, with one of the BOTTOM anchor points selected, and the Next Click mode selected, the user can click on the top of any 3D object in the drawing and click the OK button. That will move the selected object to sit atop the clicked-on object. As far as an existing script goes, I don't know of any, but it wouldn't be too difficult to write. Get the 3D-BBox of both objects, calculate the ∆Z between the bottom of one object and the top of the other, then move the one object up or down by that amount. Raymond
  14. @Jesse Cogswell, I'm glad I could help, and I thank you for your "BIG thanks", but really?!?, no Simpson's Yellow Thumb of Approval, 👍? I'm never going to catch @Pat Stanford at this rate. ☹️ Raymond
  15. Hi @Jesse Cogswell, Place your images in a folder. Select the folder and ZIP the folder. With the resulting ZIP file, change the .zip extension to .vwr and you now have a VW Resource file. I believe the commands you referenced can use the path of the .vwr file as your path input. I haven't tried it, so please let me/us know how it turns out. Thanks, Raymond
  16. it's actually inside the VW Application, in a resource file.
  17. @Pat Stanford, The path is INSIDE the VW app. It took me a while to find it, too. Raymond
  18. @tui_k, Using your code on a Mac I get : but I used: vs.CreateRadioButton2(dialog_id, 6, 'Push Button', layer_icon_path) instead of: vs.CreatePushButton(dialog_id, 6, 'Push Button') Perhaps it's a Mac/PC thing. I'll try on a PC, but it may take a while. Raymond
  19. Unlike you, I haven't thought about this for more than a minute. You can skip the redraw event with an IF statement, but I think the PIO will erase everything before you skip the redraw. If you don't redraw something, you may have difficulty selecting it afterwards. You can try it, but I don't recommend it. Perhaps someone has a more informed opinion on this. Be careful. Raymond
  20. I have always placed vsoStateClear() as the last statement in event 3 (kResetEventID). I think you're good if you remove the comment brackets. Also, I think it is a necessary command, but I've never removed it to see what happens. Raymond
  21. Shifting can be done with integers and longints with "n DIV 2" (right shift) and " n * 2" (left shift). Without some complicated code, you will have trouble with the sign bit. For values that do not encompass the full range of bits, "DIV 2" and "* 2" work quite well.
  22. There is also Projection(6, 0, 10, -2, -2, 2, 2); , if you don't want to use DoMenuTextByName(). The magic number is 6. The second term sets the rendering mode (0=Wireframe), and the last 5 numbers can be ignored as they apply to Perspective Views. Raymond
  23. Hi @Sam Jones, While the repository exists for storing and retrieving temporary settings, how do you propose finding anything in there that you did not place yourself? What names are available? The dialog in question is a stock dialog, factory owned and operated, and while it may be true that someone at the factory may inform you of a setting's name, this is not expected to be common practice. Perhaps we might all benefit if someone were to post a VE to request such a list be published. Innnnn the meantime – WWJBD? 😉 Raymond
×
×
  • Create New...