ddwwtt 发表于 2008-5-30 21:41:00

[求助]帮助编制一个轴退刀槽LSP程序

本帖最后由 作者 于 2008-5-30 21:50:06 编辑 <br /><br /> <p></p><p>输入槽的长宽后,变成下图:</p><p></p><p></p><p></p><p>高手帮帮忙啊,先谢谢了</p><p></p>

Andyhon 发表于 2008-5-30 22:11:00

给个调试用的图形文件如何?

ZZXXQQ 发表于 2008-5-30 22:32:00

因为要知道轴的粗细和画空刀的方向,多选了三个点。


(defun c:tt ()
(setvar "CMDECHO" 0)
(setq w (getdist "\nSlot width :")
       tt (getdist "\nSlot depth :"))
(setq pt (getpoint "\nAxis first point :")
       pt1 (getpoint pt "\nAxis secand point :")
       pt3 (getpoint pt "\nDirection :")
       ang (angle pt pt1))
(setq pc (polar pt ang (/ (distance pt pt1) 2))
       p1 (polar pt ang tt)
       p2 (polar pt1 (+ ang pi) tt)
       p3 (polar p1 (angle pt pt3) w)
       p4 (polar p2 (angle pt pt3) w)
       p5 (polar p3 (+ ang pi) tt)
       p6 (polar p4 ang tt))
(command "line" p1 p3 "" "line" p2 p4 "" "line" p5 p6 "")
(command "stretch" "c" pt pt "" pt p5)
(command "stretch" "c" pt1 pt1 "" pt1 p6)
(setvar "CMDECHO" 1)
(princ)
)

ddwwtt 发表于 2008-6-2 11:03:00

感谢ZZXXQQ

<p>程序很用,但有一点问题,我修改了一下</p><p>(defun c:tt ()<br/>&nbsp; (setvar "CMDECHO" 0)<br/>&nbsp; (setq w (getdist "\n退刀槽长度 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tt (getdist "\n退刀槽宽度 :"))<br/>&nbsp; (setq pt (getpoint "\n输入小径一个点 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt1 (getpoint pt "\n输入小径另一个点 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt3 (getpoint pt "\n方向线 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ang (angle pt pt1))<br/>&nbsp; (setq pc (polar pt ang (/ (distance pt pt1) 2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p1 (polar pt ang tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2 (polar pt1 (+ ang pi) tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p3 (polar p1 (angle pt pt3) w)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p4 (polar p2 (angle pt pt3) w)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p5 (polar p3 (+ ang pi) tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p6 (polar p4 ang tt))<br/>&nbsp; (setvar "OSMODE" 0)<br/>&nbsp; (command "line" p1 p3 "" "line" p2 p4 "" "line" p5 p6 "")<br/>&nbsp; (command "stretch" "c" pt pt "" pt p5)<br/>&nbsp; (command "stretch" "c" pt1 pt1 "" pt1 p6)<br/>&nbsp; (setvar "CMDECHO" 1)<br/>&nbsp; (setvar "OSMODE" 1)<br/>&nbsp; (princ)<br/>)<br/></p>

ddwwtt 发表于 2008-6-2 11:07:00

感谢ZZXXQQ

<p>谢谢ZZXXQQ,程序很好用,只有一点小问题。</p><p>(defun c:tt ()<br/>&nbsp; (setvar "CMDECHO" 0)<br/>&nbsp; (setq w (getdist "\n退刀槽长度 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tt (getdist "\n退刀槽宽度 :"))<br/>&nbsp; (setq pt (getpoint "\n输入小径一个点 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt1 (getpoint pt "\n输入小径另一个点 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt3 (getpoint pt "\n方向线 :")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ang (angle pt pt1))<br/>&nbsp; (setq pc (polar pt ang (/ (distance pt pt1) 2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p1 (polar pt ang tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2 (polar pt1 (+ ang pi) tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p3 (polar p1 (angle pt pt3) w)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p4 (polar p2 (angle pt pt3) w)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p5 (polar p3 (+ ang pi) tt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p6 (polar p4 ang tt))<br/>&nbsp; (setvar "OSMODE" 0)<br/>&nbsp; (command "line" p1 p3 "" "line" p2 p4 "" "line" p5 p6 "")<br/>&nbsp; (command "stretch" "c" pt pt "" pt p5)<br/>&nbsp; (command "stretch" "c" pt1 pt1 "" pt1 p6)<br/>&nbsp; (setvar "CMDECHO" 1)<br/>&nbsp; (setvar "OSMODE" 1)<br/>&nbsp; (princ)<br/>)<br/></p>
页: [1]
查看完整版本: [求助]帮助编制一个轴退刀槽LSP程序