AutoCAD Visual LISP / AutoLISP :: Routine That Opens Multiple Script Files
Aug 9, 2013
Is there a way to have a Lisp Routine open multiple script files?
I have 10 types of scripts, that are specific to the type of file they open (as shown below). which simply open a file, purge/audit, save and close.
open "Q:PROJECTS321700Field ManagementCoordinationElectricalSleeving613321700_ES-613-Lev01.dwg"audit y-purge all * n-purge R * naudit yqsavecloseopen "Q:PROJECTS321700Field ManagementCoordinationElectricalSleeving613321700_ES-613-Lev02.dwg"audit y-purge all * n-purge R * naudit yqsaveclose The file above was named ES-613.
I would like to create a Lisp Routine that opens this script, *Some how closes the file*, and then opens another script.
For example:(defun c:Audit-Purge ()(command ".SCRIPT" "O:/Users/Kurt N/Script/Novartis/NovartisPURGE/ES-615.scr")(PROMPT "ES-615 Done.")(princ)(command ".SCRIPT" "O:/Users/Kurt N/Script/Novartis/NovartisPURGE/ES-613.scr")(PROMPT "ES-613 Done.")(princ)ECT>>....)
View 4 Replies
ADVERTISEMENT
Dec 27, 2013
I have a CAD file with a couple hundred detail blocks in it, and I am trying to standardize them without haing to block edit each detail block.
What i am trying to do in each block is as follows:
- Explode all dimensions, leaders, and blocks
- Change all objects to layer "0"
- Change all lineweights to default
- Change all object on colors 7 and bylayer to byblock
- Change all text and mtext to arial font
- Delete all points
Civil 3D x64 2012
Win 7 x64 Ultimate
I7 3820 (3.6ghz quad core with HT)
32gig RAM (Corsair XMS3 4x8g)
Intel x z79 mobo (BOXDX79TO 2011 socket)
Radeon HD 7850 2gb GDDR5
View 3 Replies
View Related
Nov 25, 2013
Any LISP routine that can create multiple paper space layout tabs and can name them incrementally. I have a template and I wanted to copy tab2 of my layout multiple times and name them incrementally. I have a code shown below that comes close to what I need it to do but it creates a "New Layout" instead of copying the tab I need it to. Please see code below:
(vl-load-com)(defun c:LAYOUT+ (/ *error* prefix i n acDoc oLayouts layoutName) (defun *error* (msg) (if acDoc (vla-endundomark acDoc) ) (cond ((not msg)) ; Normal exit ((member msg '("Function cancelled" "quit / exit abort"))) ; <esc> or (quit) ((princ (strcat "
** Error: " msg " ** "))) ; Fatal error, display it ) (princ) ) (if (and (setq prefix (getstring "
Enter layout name prefix: "))
[Code] ......
View 7 Replies
View Related
Oct 11, 2012
I'm trying to write a lisp routine that, when I invoke the mleader command, osmode is set to "nearest" & orthomode is set off. I then would like the original settings to be returned.
attached is what I have written so far:-
View 4 Replies
View Related
Jul 5, 2012
i am wondering if it is possible to alter a specific attribute in cca 250 files? I have this template which has like 50-70 attributes,but not all of them are used. I have to change only one attribute in all of the files. For instance, i have an attribute with a specisfic tag, but the content of it is ie MARK, i want to change MARK to PETER, without having to open,click,retype,save,close every file. Is it possible to automatize it somehow? maybe lisp, batch or even VB?
View 2 Replies
View Related
Feb 7, 2012
I have a lisp routine that gathers all xrefs from the current drawing and creates a script that opens each xref, runs specific commands then saves/closes each drawing. Once all commands have been ran in each xref I would like the script to reload all xrefs in the original drawing that the script was called from. I have a reload-all lisp that is already loaded in all of my drawings but for some reason when this command is called at the end of the script it will not run.
Is there a way to have the script continue to run in the original drawing that it was called from? Or maybe even pass control back to the lisp that created/called the script? Its seems to me that the easiest thing would be to have the script continue to run after it has gone through all of the specified drawings but this is not working.
View 9 Replies
View Related
Nov 21, 2013
Basically, the routine asks for the user to choose the hatch type (Retirer/Percer), then the layer (Defpoints/Select/Current) and finaly the type of the object to draw (Polyline/Rectangle). My original routine has also a Circle and a Boundary options, and an Error trap to reset the variables but I will keep it simple for the purpose of my issue.
So, my issue is: when I choose the type of object to draw, it draws just one of it and the routine ends. I would like to have something that "says" to the routine that I want to keep drawing that object (Polyline or Rectangle) and putting the hacth inside until I do enter and then the routine goes to its end.
View 9 Replies
View Related
Dec 10, 2012
I have created an acad.lsp file in where I want to arrange all our company settings. I've stored it on the network to make sure everyone will use the same one and when updates take place I don't have to run past all pc's to change it. I've set everything in the deployment package but users can still change it when they reset their profile. Plus some pc's are already installed with AutoCAD before creating the lisp routine, how can I enforce the support directory to check on the network for the acad.lsp each time?
View 9 Replies
View Related
Oct 16, 2013
with the mouse I can select objects on the screen and then start a command that uses these objects.
How can I perform this in lisp?
I can create my selection set, that's no problem, but how can I 'make it active' for an external function?
(ssget "_C" p0 p1 '((0 . "TEXT")))
???
(c:txtexp)
View 2 Replies
View Related
Sep 13, 2012
Is it possible to loop through multiple files in a directory?
Like this: (setq file (open "..\TOPO QUADS\*.jgw" "r"))
Windows 7 x 64 Professional
Nvidia Quadro 4000
8 GB Ram
i5 2500 @ 3.30 GHz
Civil 3D 2012 SP 2
Civil 3D 2013 SP 1
View 9 Replies
View Related
Aug 12, 2012
I want autolisp program to check overlap like in closed or open polyline with any other entity in the drawing, whether other entity is overlapping inside the polyline or not, i am beginner in autolisp and want to know exactly which functions are used or the program itself Also if possible to check circular overlap of one polyline with itself.
View 1 Replies
View Related
Jul 23, 2013
LISP routine for rotating lines so that text in linetypes always reads from left to right?
I use the QUERY command to create basemaps and often the lines that are imported read upside down or backwards or however you prefer to look at it. Most often, if I look at the XY coords of these backwards lines, the End X coordinate is of a higher value than the Start X coordinate.
Looking for something that would compare the two X coordinates of a line, do some sort of an IF Start X > End X, and if its true, store the XYZ coords of the Start and End in some variable, and swap them.
View 2 Replies
View Related
Oct 5, 2011
I am looking for a routine that will replace all blocks named "DgnMisc_nodepoleind" with a block named "DgnMisc_nodepoleind2" keeping the insertion point. I could use (command "-insert" "DgnMisc_nodepoleind=Y:/ACAD2007/DA settings/Library_new_scale1/DgnMisc_nodepoleind2.dwg" NIL ) but my problem is that the block I want to replace is used on two different layers and I only want to replace the ones on layer "TPSYM01".
View 3 Replies
View Related
Jan 9, 2013
I found a lisp routine on the internet to change page setups on multiple layouts. The lisp worked but on some of the layouts it moved the viewport off the paper background (see attached). The layouts print fine but the only way to get the viewport back on to the background is to open the page setup and click modify, then ok and close. I tested this on a .dwg that I had saved to my computer rather than on one in the main folder but I would like to do this to to all are maps since our IT decided to rename our printer and now all pages setups are no good.All I know about lisp is how to run one.
;; Copy current layout page setup to all layout tabs
(vl-load-com)
(defun c:CPS (/ Adoc Layts clyt)
(setq aDoc (vla-get-activedocument (vlax-get-acad-object))
Layts (vla-get-layouts aDoc)
clyt (vla-get-activelayout aDoc)
)
(foreach
itm
(vl-remove (vla-get-name clyt) (layoutlist))
(vla-copyfrom (vla-item Layts itm) clyt)
)
(princ)
)
View 1 Replies
View Related
Sep 4, 2012
I have a lisp routine:
(defun getLayout (pos / result cLayout layouts^ i len)
; pos = -1 return previuous layout name
; pos = 0 return current layout name
; pos = 1 return next layout name
(cond
((zerop pos)
(setq result (getvar "ctab"))
); case
[code]...
which basically returns either the current, previous or next tab name depending on what you call up. Any way to link this lisp to a field? I am doing some plan and profile drawings which contain match lines I would like to have the match line text automated. For example if I'm on layout called PP02 there would be two match lines in the drawing one would read MATCH LINE PP01 and the other would read MATCH LINE PP03 this lisp routine returns the correct variable but how do I loink this to a fiels?
View 1 Replies
View Related
Jun 17, 2013
I cannot get my lisp routine to run when I batch plot in AutoCAD 2014. It's loaded into the startup suite and runs when I open the individual drawings but not during a batch plot. How can I get this to run during a batch plot?
View 9 Replies
View Related
Oct 16, 2012
I don't do a lot of programming and when I do it is mostly with older lisp commands. I have routine that works in 2010 but we are switching to 2013 and it doesn't work. The routine assigns the area of a polyline to a field. The portion of the routine that isn't working is where it assigns the object id for the polyline. Here is that portion of the routine:
;; select an object
(if (setq ent (entsel))
(progn
(setq ent (car ent))
;; Check to see if object selected is a polyline
(if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE")
(progn
;; obtain the object id from the selected entity
(setq objID (vla-get-objectid (vlax-ename->vla-object ent)))
View 1 Replies
View Related
Oct 25, 2011
I have created a lisp routine that I would like to share with other CAD users, but it doesn't work on the server, and it works fine on my machine. Does "findfile" function work on a server environment?
View 4 Replies
View Related
Sep 23, 2013
I am looking for a LISP to automatically rename all my layouts. I would like the first layout to say "HWY 400 (01)", second layout "HWY 400 (02)", third layout "HWY 400 (03)" ect..
View 4 Replies
View Related
Jul 21, 2006
I need a routine that one can select a fence or a path along a whole lot of contours which are not in 3DPoly but rather a heavyweight POLYLINE and then have the Z value (elevation of this polyline) printed over the contour preferably along the direction of the vertex picked.
I have something right now that works by selecting individual plines but I need one you can select a whole lot and have the text inserted at the correct position.
See my simple code below:
;THIS IS FOR LABELLING 3D CONTOURS
(defun C:3DC ()
(graphscr)
(setq p (entsel "
Select CONTOUR to label: "))
(setq e (entget (car p)))
(setq e1 (entget (entnext (cdr (assoc -1 e)))))
[code]....
View 2 Replies
View Related
Oct 16, 2013
I recently upgrading to ACA 2014. I have set my trusted locations, my file path, the startup suite, and the system variable to load acad.lisp on startup. Most of my lisp routines load, but not all. I still have my ACA 2011 loaded, all settings are applied as required, yet I do not have the same issue with the same lisp routines. I have to reload my lisp routines for every drawing.
View 7 Replies
View Related
Jul 9, 2013
I'm trying to create a lisp routine where It will create a layer for the delta that is needed and at the same time adds the delta. I get delta revisions often and it takes time to add a new layer and a new delta for each plan. I would like to create a routine that creates the the new layer based on the revision number.
For example if I get a revision 2 I would like to have a lisp routine that creates a new layer but asks what number i would like to use, once the new layer gets created the revcloud command would run, I use polylines around my revisions then change them to cloud with the revcloud command. after i pick my polylines to be changed to clouds then it would add a delta block that is in an attribute and it lets me put the number of the revision i want. At the end I would have a new layer, a cloud around my revision and a delta corresponding to the revision number i'm currently working with.
I have a routine that creates the new layer, sets it current, and starts the revcloud command where i can pick the objects to change to clouds, after that I'm stuck, I'm not sure how to tell AutoCAD that after the selection is made to start the insert command to insert that delta attribute block. I mean the routine ends after i pick my objects, I tried doint the delta first but i ran into the same issue since my routine ends after AutoCAD ask me to pick a location to put my delta block.
I need to figure a way to tell AutoCAD that after something is picked or selected then to continue with the lisp routine without ending it. I atteched an example of what I have.
View 9 Replies
View Related
Sep 18, 2013
I was wondering if there is a setting somewhere that could hold my snapmode settings after I use a lisp routine. I found a lisp routine to rotate text and have noticed that everytime I use that lisp command I lose my osnap settings....
View 2 Replies
View Related
Oct 19, 2011
I wrote this small program to automate plotting a drawing to pdf. Everything work fine except I cannot figure out how to allow it to let me pick where I want the file created and what I want to call it. In this routine, the "" at the 3rd from the end place will just automatically name the file and put it in the parent folder. If I replace the "" with pause, it lets me change the name, but will not let me choose the location.
What I'm looking for is for a dialogue box to pop up (explorer style) that will let me choose a location and name the file. This is what happens if you do it "long hand" inside ACAD, how to do it in the code.
(defun C:clpdf ()
(setvar "cmdecho" 0)
(setvar "osmode" 0)
[Code]....
View 3 Replies
View Related
Jun 19, 2013
Me and a friend are trying to work on a LISP routine to select objects in a drawing and change their attributes to "ByLayer" and other things. He is a familiar with the AutoCAD commands, I have a general idea of how to use LISP and we're trying to put our heads together to solve some workflow issues at our job.
-aDiagram
(defun c:set23 ()(setq uecho (getvar "cmdecho"))(setvar "cmdecho" 0)(command "setbylayer" "al" "" "n" "y")(command "-layer" "c" "23" "*")(command "-xref" "d" "*")(command "-purge" "al" "" "*" "n")(setvar "cmdecho" uecho)(princ))
View 8 Replies
View Related
Sep 4, 2013
One of our users has recently upgraded from AutoCAD 2005 to AutoCAD 2014. He has a LISP routine that will no longer work and I'm not sure why.
View 9 Replies
View Related
May 21, 2012
Lisp Routine that could replace a line at a specified maximum length with a block at the lines midpoint.
I would love to be able to replace all lines I select which are say less than 0.5m in length with a block at the lines.
View 7 Replies
View Related
Jan 8, 2014
Any Lisp Routine to scale text objects a certain value and have the program actually scale each text object as you pick them.
The change text height using the Properties function does not work for what I need because the objects I need to scale are Mtext objects with Background Mask, and when you use the Properties function to change their text height it messes up the background mask so that you have to select each text entity and stretch the mask area smaller or larger, but if you use the scale function it scales the background mask as well so the background mask coverage is still the same.
View 2 Replies
View Related
Jun 20, 2011
A lot of the LISP routines we use turn off all snaps except the "nearest" snap when the routine is complete.
I draw with 6 out of the 10 snaps on (not the nearest).
LISP routine that loads specific object snaps?
View 9 Replies
View Related
Aug 18, 2011
I found the following lisp routine on the forums and would like to know how to make a couple changes.
1. Have two line of text with the N or S on top of the E or W.
2. Include the foot symbol after the distance
3. Have the N,S,E,W placed before the distance, ex S 0.00'
4. Eliminate the negative sign
5. Use my current text height instead of dimtxt height
(Currently using Autodesk Land Desktop 2009 and want the text to come in based on the current text style since we use several different scales and text depending on project)This is a great routine that is going to make life much easier for us.
(defun C:LBD (/ P1 P2 TX);label difference
(while
(setq p1 (getpoint "
Specify first point or press Enter to Exit: "))
(setq p2 (getpoint p1 "
Specify second point: ")
ydiff (- (cadr p2)(cadr p1))
xdiff (- (car p2)(car p1)))
[code]....
View 5 Replies
View Related
Dec 7, 2012
Found this routine online and am hoping to modify it to my needs, just not sure how to proceed.
It exports the text out of the dims into an excel file, the issue I have is that it automatically opens a new book every time you run the lisp with the original workbook open.
I am trying to get it to automatically insert the next set of numbers on the row below the first pull.
View 9 Replies
View Related