yesong555 发表于 2004-8-11 13:53:00

哪位帮我编一程序?

哪位帮我编一可以绘制下图的程序,只要输入直径、长度,再斜线长度,再下一直径、长度。我不会编程,哪位大侠帮我。

ZZXXQQ 发表于 2004-8-11 16:29:00

试一下这个程序:


(DEFUN C:AXIS ()<BR>(SETQ AL1 (/ PI 2) AL2 (- AL1))<BR>(SETQ PC (GETPOINT "\nAxis Left Start Point 轴左端中心起点: "))<BR>(SETQ D1 (GETDIST "\nDiameter 1 直径 1 :"))<BR>(SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))<BR>(SETQ L (GETDIST "\nLength of axis 轴长 : "))<BR>(SETQ PT1 (POLAR PC AL1 (* D1 0.5)))<BR>(SETQ PT2 (POLAR PT1 AL2 D1))<BR>(COMMAND "LINE" PT1 PT2 "")<BR>(WHILE (AND (/= L nil) (/= D2 nil))<BR>        (SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))<BR>        (SETQ PT4 (POLAR PT3 AL2 D2))<BR>        (COMMAND "LINE" PT1 PT3 PT4 PT2 "")<BR>        (SETQ PT1 PT3 PT2 PT4 D1 D2)<BR>        (SETQ D2 (GETDIST "\nDiameter       直径: "))<BR>        (SETQ L (GETDIST "\nLength of axis 轴长 : "))<BR>)<BR>(PRINC)<BR>)<BR>

yesong555 发表于 2004-8-11 18:18:00

楼上的大哥,不行啊,出现这个情况了,我用的2004


命令: _appload 已成功加载 AXIS.lsp。<BR>命令:<BR>命令:<BR>命令: axis<BR>停止使用的命令。

spring 发表于 2004-8-11 20:38:00

将命令改一下看看

xyp1964 发表于 2004-8-11 20:43:00

本帖最后由 作者 于 2004-8-11 23:28:51 编辑 <br /><br /> 改个名字就成了!



(DEFUN C:AXIS0 ()


<b>(setvar"osmode"0);;新增</b><BR>       (SETQ        AL1 (/ PI 2) AL2 (- AL1))<BR>       (SETQ PC (GETPOINT "\n\tAxis Left Start Point 轴左端中心起点: "))<BR>       (SETQ D1 (GETDIST "\n\tDiameter 1 直径 1 :"))<BR>       (SETQ D2 (GETDIST "\n\tDiameter 2 直径 2: "))<BR>       (SETQ L (GETDIST "\n\tLength of axis 轴长 : "))<BR>       (SETQ PT1 (POLAR PC AL1 (* D1 0.5)))<BR>       (SETQ PT2 (POLAR PT1 AL2 D1))<BR>       (COMMAND "LINE" PT1 PT2 "")<BR>       (WHILE (AND (/= L nil) (/= D2 nil))<BR>                       (SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))<BR>                       (SETQ PT4 (POLAR PT3 AL2 D2))<BR>                       (COMMAND "LINE" PT1 PT3 PT4 PT2 "")<BR>                       (SETQ PT1 PT3<BR>               PT2 PT4<BR>               D1       D2<BR>                       )<BR>                       (SETQ D2 (GETDIST "\n\tDiameter       直径: "))<BR>                       (SETQ L (GETDIST "\n\tLength of axis 轴长 : "))<BR>       )<BR>       (PRINC)<BR>)<BR>

yesong555 发表于 2004-8-11 21:40:00

谢谢各位,但有时还会出现下现这个情况,出现在轴的第一段





命令: AS<BR>        Axis Left Start Point 轴左端中心起点:<BR>        Diameter 1 直径 1 :2<BR>        Diameter 2 直径 2: 3<BR>        Length of axis 轴长 : 30<BR>LINE 指定第一点:<BR>指定下一点或 [放弃(U)]:<BR>指定下一点或 [放弃(U)]:<BR>命令: LINE 指定第一点:<BR>指定下一点或 [放弃(U)]:<BR>指定下一点或 [放弃(U)]: 已在 (960.8225, 676.7608, 0.0000) 创建零长度直线<BR>指定下一点或 [闭合(C)/放弃(U)]:<BR>指定下一点或 [闭合(C)/放弃(U)]:

ZZXXQQ 发表于 2004-8-13 08:30:00

关掉OSNAP就行了。


程序改后:


(DEFUN C:AXIS0 ()<BR>(SETQ OLDOS (GETVAR "OSMODE"))<BR>(SETVAR "OSMODE" 0)<BR>(SETQ AL1 (/ PI 2) AL2 (- AL1))<BR>(SETQ PC (GETPOINT "\nAxis Left Start Point 轴左端中心起点: "))<BR>(SETQ D1 (GETDIST "\nDiameter 1 直径 1 :"))<BR>(SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))<BR>(SETQ L (GETDIST "\nLength of axis 轴长 : "))<BR>(SETQ PT1 (POLAR PC AL1 (* D1 0.5)))<BR>(SETQ PT2 (POLAR PT1 AL2 D1))<BR>(COMMAND "LINE" PT1 PT2 "")<BR>(WHILE (AND (/= L nil) (/= D2 nil))<BR>        (SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))<BR>        (SETQ PT4 (POLAR PT3 AL2 D2))<BR>        (COMMAND "LINE" PT1 PT3 PT4 PT2 "")<BR>        (SETQ PT1 PT3 PT2 PT4 D1 D2)<BR>        (SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))<BR>        (SETQ L (GETDIST "\nLength of axis 轴长 : "))<BR>)<BR>(SETVAR "OSMODE" OLDOS)<BR>(PRINC)<BR>)

yesong555 发表于 2004-8-13 13:59:00

谢谢<A name=42719><FONT color=#000066><B>ZZXXQQ</B></FONT></A>
页: [1]
查看完整版本: 哪位帮我编一程序?