作者sjgau (sjgau)
看板Cad_Cae
标题Re: [问题] autolisp 画锯齿状
时间Sat May 5 07:41:10 2012
帮你改好
测试 OK
请提供你的 测试意见
麻烦 帮我 案个赞
http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18
; file: NG0713.LSP
(defun c:gear( / )
(setq p1 (getpoint "\n get P1: "))
(setq p2 (getpoint "\n get P2: "))
(setq ni (getint "\n ni= "))
(setq ni (- ni 1))
(setq x1 (car p1) y1 (cadr p1))
(setq x2 (car p2) y2 (cadr p2))
(setq dx (- x2 x1) dy (- y2 y1))
(setq x3 (+ x1 dx) y3 y1
p3 (list x3 y3))
(command "pline" p1 p2 p3)
(repeat ni
(progn
(setq x1 x3 y1 y3
p1 (list x1 y1)
x2 (+ x1 dx)
p2 (list x2 y2)
x3 x2 y3 y1
p3 (list x3 y3)
)
(command p2 p3)
)
)
(command "")
(princ)
); end of gear()
(princ "\n do the GEAR \n")
(princ)
; end of file
※ 引述《skyconquer (梅郭曲)》之铭言:
: 大家好,我写了一个简单的autolisp程式想画一个像是螺旋弹簧侧面图的锯齿状线图,
: 以下是我的程式码:
: (defun c:test5 (/ p1 p2 dist ni dist2)
: (setq
: p1 (getpoint "\n input the first point : ")
: p2 (getpoint "\n input the seconf point : ")
: p3 (list (car p2) (cadr p1))
: dist (distance p1 p3)
: ni (getint "\ninput the times of drawing : ")
: dist2 (* 2.0 dist)
: ) ; end setq1
: (command "pline" p1 p2 p3)
: (repreat ni
: (setq
: p1 (polar p1 0.0 dist2)
: p2 (polar p2 0.0 dist2)
: p3 (polar p3 0.0 dist2)
: )
: (command p1)
: ) ; end of repeat
: (command "")
: ) ;end of program
: 现在遇到的问题是:不管我ni输入多少,图形就是只会画一次,就是只画出一个锯齿
: 的意思。
: 不太知道这样的写法有哪里不行,想请教各位高手,谢谢。
--
e-mail:
[email protected]
我的课程介绍网页:
http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18
AutoCAD 台湾地区菁英讲师获选
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.233.188
1F:→ sjgau:是否正确?是否有达到目的?请回报一下!感恩 05/05 21:50
2F:推 skyconquer:用推文回报可以吗?有达到目的,谢谢!! 05/13 14:47