![]() |
【转帖】units macro usless in 09
units macro usless in 09'
where i work we use 3 bottons to switch units on solidworks at the document level units to: mm, fractions, and deciamal inches. here is the code (it has worked fine for the past several releases of solidwoks: dim swapp as object dim part as object dim boolstatus as boolean dim longstatus as long, longwarnings as long dim featuredata as object dim feature as object dim component as object sub main() set swapp = application.sldworks set part = swapp.activedoc part.setuserpreferenceintegervalue swunitslinear, swmm part.setuserpreferenceintegervalue swunitslineardecimaldisplay, swdecimal part.setuserpreferenceintegervalue swunitslinearfractiondenominator, 8 part.setuserpreferencetoggle swunitslinearroundtonearestfraction, false part.setuserpreferenceintegervalue swunitslineardecimalplaces, 3 part.setuserpreferenceintegervalue swimagequalitywireframe, swwireframeimagequalitycustom end sub can someone please tell me what to add or revise to get this macro working again? sw 2009 pdm workgroup 3d connexion user (space pilot) bluebeam mdt & acad user furniture industry 5 years hp workstation xw6400 your code works fine for me in 2009 sp1. is it erroring out for you or is it just not updating the options? if not updating the options, which ones is it not updating? wayne matus texas engineering systems it just doesn't seem to change anything. all of the other 15 macros work fine, but the unit macros do nothing now sw 2009 pdm workgroup 3d connexion user (space pilot) bluebeam mdt & acad user furniture industry 5 years hp workstation xw6400 there's a chance that the swconst type library is missing from your macro. if you right-click on one of the constants - swmm for example, and select definition, does it find the reference in the type library? if not, add the type library back into the macro. mike spens "automating solidworks using macros" leap frog leap pad x64 it seems to be connected. the strange thing is if i go to edit a dimension after running the macro the units are affected, but the display units are not. it's as though it's not being fully updated now. sw 2009 pdm workgroup 3d connexion user (space pilot) bluebeam mdt & acad user furniture industry 5 years hp workstation xw6400 i see what you are saying now. under tools options it shows to be changed, but existing dimensions still show up in the old units. wayne matus texas engineering systems yeah, being uneducated in all of this i was hoping for a lot more sample code on the new 09 api help. sw 2009 pdm workgroup 3d connexion user (space pilot) bluebeam mdt & acad user furniture industry 5 years hp workstation xw6400 can anyone suggest a way to correct my code? i was trying this: dim instance as imodeldoc2 dim utype as short dim fractbase as short dim fractdenom as short dim sigdigits as short dim roundtofraction as boolean instance.setunits(utype, fractbase, fractdenom, sigdigits, roundtofraction) from the help menu, but i don't know how to call up the procedures very well. i always take someone elses code and modify it or put a lot of code togother. sw 2009 pdm workgroup 3d connexion user (space pilot) bluebeam mdt & acad user furniture industry 5 years hp workstation xw6400 looks like a bug to me. your first code is correct. after running the macro, going into the document properties and simply select dimensions, then linear or diameter and click ok (not changing anything, just viewing the new settings). the displayed units update. even forcing a rebuild is not updating the display. anyone else have any workaround ideas? mike spens "automating solidworks using macros" leap frog leap pad x64 quick |
所有的时间均为北京时间。 现在的时间是 01:57 AM. |