AutoCAD Visual LISP / AutoLISP :: Defining Points For Spline Command
Apr 4, 2012
I am working on a little lisp routine to draw splines, but can't get it working. The basic idea is that i first select a set of points that i can feed to my spline command.
(defun c:test2 () (setq pt (getpoint "
define point:")) (setq ptlist nil) (while (not (equal pt nil)) (setq ptlist (cons pt ptlist)) (setq pt (getpoint "
define point:")) ) )
Now i need to draw a spline based on these points. My plan whas to simply use the acad command itself. But this option didn't work.
(command "spline" ptlist "")
Then i tried using the vla-addspline command. But i can't even get this one working .
View 6 Replies
ADVERTISEMENT
Jun 20, 2011
I'm trying to define a grid based on polar coordinates.
Can be produced using the following MATLAB
n=1:50000;r=sqrt(n);t=360/((sqrt(5)+1)/2)+1)*pi/180*n;plot(r.*cos(t),r.*sin(t),'o')
I need to insert points based on the polar coordinates defined by the equations. I knew a little bit of LISP 10 Years ago, now it's a total blank. I've been trying to write a script to make this work but after 5 days I'm still without sucess.
View 8 Replies
View Related
Sep 21, 2004
Code to convert a spline or read its points so I can create a curved leader (with arrowhead) reasonably close ?
View 9 Replies
View Related
May 3, 2012
Our customer send us drawing with ellipse segments into.
With Autocad 2008 I bought a plug-in call SplineConvert that did the job perfectly but not compatible with 2013.
Is there any plugin that could replace that tool ?
Is there any standard ACAD command that could easily do this Job ?
I need a way to make 2 or 3 times per week this converting on all ellipses of large and detail 2D drawings so no time to offset in and out all those .
I try also DXFOUT in R12 but all the spline are being converted into 3d polyline making a huge files that froze my PC.
I also try FLATTEN but did not see how it work , the ellipse stay an ellipse.
View 7 Replies
View Related
Aug 8, 2013
Let's say I have a 3D polyline, which I turn into a spline. I then want to determine how closely the original polyline and spline follow each other. How I can check this programmatically? The concern is to find the maximum deviation and its location.
Howto be able to run the check on other types of objects as well: arc, polylines etc.
View 6 Replies
View Related
Nov 21, 2010
I am currently writing a series of routines for setting the layers for text, leaders and dimension commands. The end goal is a system where any annotation command sets the correct layer for the duration of the command, then reverts back to the layer that was active before the command.
I have managed to complete all the code, and it appears to be working fine, I just have one question: I have used -layer "m" "Lay_name" etc... for all layer setting commands, rather than any code to see if the layer exists already. In my limited testing this seems to be suitable, nothing that exists on that layer seems to be affected.
I know how to write code to determine if the layer exists already and set the layer instead, but so far it seems unnecessary??
View 8 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
Jan 5, 2012
I have a drawing that has 2D pipeline (only x and y, z value =0) and 3 topo contour lines ( with x, y and z vaules). I need to divide the the 2D pipeline into say 2000 points and then get the corresponding z values from the topo contour lines. I think it can be done by interpolating between the z values for the two apparent intersection points of the 2D line and the contour lines, the x and y values will be the same for the points that falls between these two aparent intersections. Is there any lisp out there that can do that.
View 7 Replies
View Related
Feb 2, 2012
I need to place a circle, of a user-defined radius, as a marker at the endpoints of all lines in a drawing. how to accomplish this using lisp? It doesn't matter if they overlap; I can use OVERKILL to delete those objects.
I started the code with:
(defun c:cmark ()
(setq crad (getdist "
Specify radius: "))
)
But don't know how to cycle through the objects, determine the end points of lines only.
View 6 Replies
View Related
Dec 19, 2011
What I have is a topo plan in 3D (All contour lines have x, y and z values). My pipeline is on x and y coordinate only. I need to get the corresponding z value for say about 2000 points on the pipeline.
View 9 Replies
View Related
Nov 6, 2013
I need very very often to know the angle between two surfaces to write cnc programms...At the moment i draw allways two lines normal to the line between the two surfaces an use then the angle measuring tool.Works good, faster then bks and dimensioning, but need also time and always need to delete the lines after...
Is it possible to get a lisp which ask für 1 point on the first surface, 1 point on the other surface and two points on the line between the 2 surfaces? So the lisp know 3 points of each surface and can give out the angle between... Should be allways between 0-180°
So it needs only 4 klicks to get a angle! That would be so great! Is there a lisp programmer who can make this possible?
View 9 Replies
View Related
Aug 19, 2013
how to use AutoLISP to draw lines between two points. I have x,y,z coordinates for the end points in an excel sheet which I can save as a text file. I need to pull the coordinates from the file and use them to draw the lines. There are 2000+ lines so it is not feasible to draw them manually.
View 8 Replies
View Related
Nov 1, 2011
Looking to make a selection set of points that are on a specific layer, and then create a dimension between, in this case, two points. I feel like it should be very simple, but I can't get it to work for the life of me. Here is the test code I've been playing around with:
(defun c:test (/ sel1 TC)
(setq sel1 (ssget "X" '((8 . "VPOINTS"))))
(setq TC (polar (entget (assoc 10 (ssname sel1 0))) (dtr 180.0) 9))
(command "DIMLINEAR" (entget (assoc 10 (ssname sel1 0))) (entget (assoc 10 (ssname sel1 1))) "V" (polar TC (dtr 180.0) 9) "")
[code].......
View 1 Replies
View Related
Jul 7, 2013
I have plines of circuits that sometimes have T's (line goes along, then T's out then back to T point and then continues).
Here is example line -
(setq List_Pline (list (list 0 0) (list 1 1) (list 0.5 1.5) (list 1 1) (list 2 2) (list 3 3) (list 3.5 2.5) (list 3 3) (list 4 4)))
nth 0 = (0 0)
nth 1 = (1 1) - T point
nth 2 = (0.5 1.5)
nth 3 = (1 1) - T return point
nth 4 = (2 2)
nth 5 = (3 3) - T point
nth 6 = (3.5 2.5)
nth 7 = (3 3) - T return point
nth 8 = (4 4)
I need to be able to pick 2 points along the line and find the shortest route.
Examples -
1st point at 1,1 and 2nd point at 3,3 - new line is nth's 3,4,5
1st point at 0,0 and 2nd point at 1,1 - new line is nth's 0,1
1st point at 2,2 and 2nd point at 3,3 - new line is nth's 4,5
1st point at 3,3 and 2nd point at 4,4 - new line is nth's 7,8
1st point at 0,0 and 2nd point at 3,3 - new line is nth's 0,1,2,3,4,5
1st point is 1,1 and 2nd point is 1,1 - new line is nth's 1,2,3
I've tried using vlax-curve-getParamAtPoint, but it returns 1st T point.
Synopsis of program -
Select Pline
Pick 1st point
check if on line
Pick 2nd point
check if on line
check if 2nd point is before 1st point, if so swap locations
find last nth of 1st point
find 1st nth of 2nd point
return list
View 6 Replies
View Related
Aug 23, 2013
I am trying to get the end points of an invisible line it would be the line that you offset I know all about polar I just don't know which angle to add or subtract and I will pick the point on the side I want it to be on I am going to pick 2 lines and I want them to offset invisible lines in the middle the lines are not parallel.
View 8 Replies
View Related
Jun 22, 2012
I have a routine that work fine, but I receive a nil at the end of command. How to fix that?
View 7 Replies
View Related
Oct 27, 2012
I need a program that simulate this DOS command: dir /on/b *.dwg >list.txt
it list all dwg files on current open dwg file folder and sort them and finally put them in a text file with list.txt name. something like thistype list.txt)
test1.dwg
test2.dwg
test100.dwg
test256.dwg
test1005.dwg
(sort alphabetically and logically) because of disabled DOS utility in my PC I need a pure lisp functions, I tried to wrote this program but I couldn't!!
(defun c:listMaker()
(vl-load-com)
(setq path (getvar "dwgprefix"))
(setq fn "list.txt")
[code]...
and also I need a append a string(='This Is EOF') in the last line of the "list.txt" file.
View 8 Replies
View Related
Apr 13, 2012
I am trying to get my original layer and lintype reinstated after the user is finished with the pline..I know Im suppose to use the while command but am now completely lost on which way to do this
(DEFUN c:TEST1 ()(if (not (tblsearch "LTYPE" "MYWC")) (command "-linetype" "LOAD" "MYWC" "C:/COUNTER.LIN" ""));SECOND PROGRAM...;CREATE CORESPONDING LAYER...(command "._Layer" "Make" "WC LEIDING" "Ltype" "Continuous" "" "Color" "211" "" "")(SETQ MYOLDCELTYPE (GETVAR "CELTYPE"))(SETVAR "CELTYPE" "MYWC")(while (PROGN(COMMAND "pline")(SETVAR "CELTYPE" MYOLDCELTYPE)))
View 5 Replies
View Related
Aug 20, 2012
We have a need to select a tangent line/polyline etc and then select two other points we would then like to have the program draw an arc through the two points and yet still be tangent to the initial line/polyline that we picked. We don't care what the radius is as we believe there is only one solution anyway. It would be wonderful if we could just use the Arc command and select start>Second Point> then just use the Tangent Osnap but I guess that is out of the question :-)
The only code that I have come across that even resembles this only allows for one point not two (STILL VERY HANDY AND VERY SLICK)
(vl-load-com)
(defun near_vertex_arr (obj / dxf_obj e_next obj_vlax pt_sel par pt_first pt_snd i bulge)
;bruno.valsecchi
[Code]....
How does everyone else hande this? By they way... I dont care what language it is written in :-)
View 7 Replies
View Related
Aug 8, 2013
I know how to increment pick points numerically (see below). How is it done alphabetically?
(defun C:test (/ pt# pt) (setq pt# (getint "
Enter number: ")) (while (setq pt (getpoint "
Specify point: " ))(if (/= pt nil) (progn (command "TEXT" "M" pt "" "" pt#) (setq pt# (1+ pt#)) ) ) ) (princ))
View 3 Replies
View Related
Mar 12, 2013
I am using autocad 2013 and importing PDFs into the drawing and recently the OSnap points within the pdf are missing. The PDFs are of floorplans and I was able to measure from wall to wall using endpoints and midpoints. Now I am only able to select the endpoints on the frame of the pdf.
Is there a switch that might have been turned off?
View 2 Replies
View Related
Aug 5, 2013
I am looking for code to remove duplicate points (xy coords) from a list with a fuzz factor parameter.
View 1 Replies
View Related
Jun 29, 2013
My first lisp, so bring it hard on me I want to be an expert in autolisp .
My lisp is meant to do the following:
draw a rectangle with ”0” fillet. It can be done either via rectangle command, or pline command. The attached lisp has the variant with the pline-case.
The, I need to draw inside a smaller rectangle, with a fillet value, that is promoted and indicated by the user. The smaller rectangle must be centered inside the bigger one. I thought it was a good idea, to take one insertion-point for the bigger rectangle.
and to calculate a 2-nd insertion-point for the smaller rectangle, via "polar" function.
What I get:
the 2-nd insertion point is put the same as the 1-st one.
I wish to draw the bigger rectangle with one layer "example: Layer 1", and the smaller rectangle with another layer "example: Layer 2".
View 9 Replies
View Related
Sep 10, 2012
There are times that I have a really long curb polyline that has both line and arc segments. I wish to pick two points along that polyline and have it give me the distance between those two points along the path of the polyline.
Do we have this ability natively? Have I been missing something all this time? Normally I have to make a copy of the original entity, ... break, break, list erase or undo....
View 6 Replies
View Related
Jul 7, 2012
I have a list with many points is it possible that i can draw a line or polyline on those points using MapCar function.
View 6 Replies
View Related
Sep 27, 2013
what I am attempting -
Pick a line
Pick a starting point on the line
Pick a ending point on the line
Pick side to offset
create list of offset points
Create a new line with a offset
I think I could do this using brute force, but would prefer a mathematical solution.
View 9 Replies
View Related
Nov 2, 2012
I want tp write my first programm with autolisp. I use Autocad 2012(rus). When I run my script I see that some of points are missed in the autocad. Maybe I do something wrong?
(setq RB 300)(setq RM 70)(setq N 12)(setq M 11)(setq I 0)(setq J 0)(defun alphai (i) (/ (* (/ (* 360 i) N) PI) 180))(defun gammaj (j) (/ (* (/ (* 360 j) M) PI) 180))(defun XIJ (I J) (* (+ (* RM (cos (alphai I))) RB) (cos (gammaj J))))(defun YIJ (I J) (* (+ (* RM (cos (alphai I))) RB) (sin (gammaj J))))(defun zij (I J) (* RM (sin (alphai I))))(setq I 0)(setq J 0)(setq PT0 (list 0 0 0))(setvar "CMDECHO" 0)(repeatM (repeat N (setq PT (list (XIJ I J) (YIJ I J) (ZIJ I J))) (command "_point" PT) (setq I (+ I 1)) (setq PT0 PT) ) (setq I 0) (setq J (+ J 1)))
View 6 Replies
View Related
Apr 9, 2013
I have a lisp which I use to erase all points in a specific layer.
(defun cPL ()
(setq ss1 (ssget "x" (list '(0 . "point")'(8 . "Points"))))
(command ".erase" ss1 "")
(princ)
)
It is working only if I have the points in the DWG. If there are no points, I receive "Unknow command DPL". Is there anything I can do in order to avoid this error?
View 5 Replies
View Related
Feb 26, 2012
Just going over some old stormwater flows but have some other stuff included in the coordinates I have, is their anyway to convert lines to points?
I know a long way but im just seeing if theres a quick lisp routine that can do it for me?
View 1 Replies
View Related
Jun 28, 2013
I got this code in a web trawl to insert a block to points taken from a txt file......
its coming back with an error as follows:
; === Top statistic:
; Function definition (with number of arguments): ((C:INSERTBLOCKS . 0))
; Check done.
What does this mean and how can I fix it.
(defun c:insertBlocks (/ txtFile xyData expertVar attreqVar)(setq expertVar (getvar "expert"))
(setq attreqVar (getvar "attreq"))
(setvar "expert" 2)(setvar "attreq" 0)
(setq txtFile (open "c:\cad\textfile.txt" "r")) ;
[Code] ......
View 3 Replies
View Related
Apr 9, 2012
I am not sure why this is not working.
(setq SelectionSet (ssget "C" Point1 Point2 '((-4 . "<or") (0 . "CIRCLE") (0 . "MTEXT") (-4 . "<or"))))
I want to select circles and mtext within the specified points.
View 2 Replies
View Related