shailujp Posted March 26, 2014 Posted March 26, 2014 Hello, I have some drawings that requires CONVERTPSTYLES run to be able to use the plot style .ctb files. Otherwise it shows missing. So, I have created a script per below (btw my first script ever ). CONVERTPSTYLES QSAVE QUIT This script works well if all the files in folder has the issue of missing plot style. If any one file is not having this issue, then the script stops. I noticed that the CONVERTPSTYLES is having two different responses and if the file does not have any issue, then it pops-up different window causing my script to stop. The first image is the normal pop-up and once okayed. command closes for the problematic files (works perfectly). Second image is the additional pop-up looking for some files when the file is having no issues. Any suggestions Quote
ripuz Posted March 27, 2014 Posted March 27, 2014 Hi shailujp, First I will refer to the AutoCAD help: A drawing can use either named or color-dependent plot styles, but not both. CONVERTPSTYLES converts a currently open drawing from color-dependent plot styles to named plot styles, or from named plot styles to color-dependent plot styles, depending on which plot style method the drawing is currently using. When you convert a drawing, CONVERTPSTYLES sets the PSTYLEMODE system variable to the appropriate setting (0 = named, 1= color-dependent). For example, a drawing using color-dependent plot styles assigns plot properties to objects and layers by color. In other words, all objects with the same color have the same plot properties. CONVERTPSTYLES converts the drawing to use named plot styles that can be applied to objects or layers independent of color assignment. In other words, all objects with the same color can have different plot properties. A script file is not built on conditions. You can´t write a script that checks if a line is blue and if it is then turn it red. A script just turns it red, no matter what. But if you write a lispfile you can set conditions. The following code checks if the system variable PSTYLEMODE is 0 (Named plot style) and if it is, then it runs the command CONVERTPSTYLES otherwise it don´t. (if (= (getvar "PSTYLEMODE") 0) (command "convertpstyles") ) (command "_.qsave") If you want to load a lispfile from a scriptfile then you write like this in you´r scriptfile. (load "c:\\temp\\lispfile.lsp") Maybe it´s possible to eliminate the root of the problem rather than fixing it like this but I´m not that good with ctb and stb files. Quote
shailujp Posted March 28, 2014 Author Posted March 28, 2014 (edited) Thank you ripuz. Your suggestion worked for me. Now when I run this script, it goes smooth and no stopping whatsoever. One more thing I learned about lisp today. I was under impression that LISP file must contain DEFUN but I was wrong. Got one question on the batch file though. Currently I'm using below code for the batch file. I copy all my files-to-convert into this folder and run the utility. Is it possible to allow for selection of the folder so that I dont have copy/paste drawings to this folder? Or should I change the folder name inside batch each time? Just want to know how others do this? Also, how to add multiple folders so that I can run this on say five different folder. And if possible, can someone describe the functions listed under the batch code. FOR %%V IN (C:\Myfolder\*.dwg) DO start "T" /w "C:\Program Files\AutoCAD 2008\acad.exe" %%V /b "FIXPSTYLE.scr" Edited March 28, 2014 by shailujp Quote
shailujp Posted April 1, 2014 Author Posted April 1, 2014 I have did some basic reading on some websites but couldnt find what START, "T" and /W stands for. Any clue? Quote
oreussa Posted September 13, 2016 Posted September 13, 2016 Hi to All. excuse me but i don't see the Code,. Do you can send it to me? ...or directly the lisp file. Thanks a lot Quote
BIGAL Posted September 14, 2016 Posted September 14, 2016 Why not (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1) ) You could use Lee-mac scriptwriter and run it all from inside Autocad, also use in a lisp FINDFILE and write a script so directory is not hard coded. Me I would just use CMD cd\myfolder Dir *.dwg > dirlst /b open dirlist in word use Replace and script is done. open dwg1 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave open dwg2 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave open dwg3 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave Quote
oreussa Posted September 14, 2016 Posted September 14, 2016 THANKS A LOT BIGAL! Why not (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1) ) You could use Lee-mac scriptwriter and run it all from inside Autocad, also use in a lisp FINDFILE and write a script so directory is not hard coded. Me I would just use CMD cd\myfolder Dir *.dwg > dirlst /b open dirlist in word use Replace and script is done. open dwg1 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave open dwg2 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave open dwg3 z e (if (= (getvar "PSTYLEMODE") 0) (setvar "Pstylesmode" 1)) qsave Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.