明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1664|回复: 7

哪位帮我编一程序?

[复制链接]
发表于 2004-8-11 13:53 | 显示全部楼层 |阅读模式
哪位帮我编一可以绘制下图的程序,只要输入直径、长度,再斜线长度,再下一直径、长度。我不会编程,哪位大侠帮我。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-8-11 16:29 | 显示全部楼层
试一下这个程序: (DEFUN C:AXIS ()
(SETQ AL1 (/ PI 2) AL2 (- AL1))
(SETQ PC (GETPOINT "\nAxis Left Start Point 轴左端中心起点: "))
(SETQ D1 (GETDIST "\nDiameter 1 直径 1 :"))
(SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))
(SETQ L (GETDIST "\nLength of axis 轴长 : "))
(SETQ PT1 (POLAR PC AL1 (* D1 0.5)))
(SETQ PT2 (POLAR PT1 AL2 D1))
(COMMAND "LINE" PT1 PT2 "")
(WHILE (AND (/= L nil) (/= D2 nil))
(SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))
(SETQ PT4 (POLAR PT3 AL2 D2))
(COMMAND "LINE" PT1 PT3 PT4 PT2 "")
(SETQ PT1 PT3 PT2 PT4 D1 D2)
(SETQ D2 (GETDIST "\nDiameter 直径: "))
(SETQ L (GETDIST "\nLength of axis 轴长 : "))
)
(PRINC)
)
 楼主| 发表于 2004-8-11 18:18 | 显示全部楼层
楼上的大哥,不行啊,出现这个情况了,我用的2004 命令: _appload 已成功加载 AXIS.lsp。
命令:
命令:
命令: axis
停止使用的命令。
发表于 2004-8-11 20:38 | 显示全部楼层
将命令改一下看看
发表于 2004-8-11 20:43 | 显示全部楼层
本帖最后由 作者 于 2004-8-11 23:28:51 编辑

改个名字就成了! (DEFUN C:AXIS0 () (setvar"osmode"0);;新增
(SETQ AL1 (/ PI 2) AL2 (- AL1))
(SETQ PC (GETPOINT "\n\tAxis Left Start Point 轴左端中心起点: "))
(SETQ D1 (GETDIST "\n\tDiameter 1 直径 1 :"))
(SETQ D2 (GETDIST "\n\tDiameter 2 直径 2: "))
(SETQ L (GETDIST "\n\tLength of axis 轴长 : "))
(SETQ PT1 (POLAR PC AL1 (* D1 0.5)))
(SETQ PT2 (POLAR PT1 AL2 D1))
(COMMAND "LINE" PT1 PT2 "")
(WHILE (AND (/= L nil) (/= D2 nil))
(SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))
(SETQ PT4 (POLAR PT3 AL2 D2))
(COMMAND "LINE" PT1 PT3 PT4 PT2 "")
(SETQ PT1 PT3
PT2 PT4
D1 D2
)
(SETQ D2 (GETDIST "\n\tDiameter 直径: "))
(SETQ L (GETDIST "\n\tLength of axis 轴长 : "))
)
(PRINC)
)
 楼主| 发表于 2004-8-11 21:40 | 显示全部楼层
谢谢各位,但有时还会出现下现这个情况,出现在轴的第一段 命令: AS
Axis Left Start Point 轴左端中心起点:
Diameter 1 直径 1 :2
Diameter 2 直径 2: 3
Length of axis 轴长 : 30
LINE 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: LINE 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]: 已在 (960.8225, 676.7608, 0.0000) 创建零长度直线
指定下一点或 [闭合(C)/放弃(U)]:
指定下一点或 [闭合(C)/放弃(U)]:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-8-13 08:30 | 显示全部楼层
关掉OSNAP就行了。 程序改后: (DEFUN C:AXIS0 ()
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(SETQ AL1 (/ PI 2) AL2 (- AL1))
(SETQ PC (GETPOINT "\nAxis Left Start Point 轴左端中心起点: "))
(SETQ D1 (GETDIST "\nDiameter 1 直径 1 :"))
(SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))
(SETQ L (GETDIST "\nLength of axis 轴长 : "))
(SETQ PT1 (POLAR PC AL1 (* D1 0.5)))
(SETQ PT2 (POLAR PT1 AL2 D1))
(COMMAND "LINE" PT1 PT2 "")
(WHILE (AND (/= L nil) (/= D2 nil))
(SETQ PT3 (POLAR (POLAR PT1 0 L) AL1 (* (- D2 D1) 0.5)))
(SETQ PT4 (POLAR PT3 AL2 D2))
(COMMAND "LINE" PT1 PT3 PT4 PT2 "")
(SETQ PT1 PT3 PT2 PT4 D1 D2)
(SETQ D2 (GETDIST "\nDiameter 2 直径 2: "))
(SETQ L (GETDIST "\nLength of axis 轴长 : "))
)
(SETVAR "OSMODE" OLDOS)
(PRINC)
)
 楼主| 发表于 2004-8-13 13:59 | 显示全部楼层
谢谢ZZXXQQ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-5 17:43 , Processed in 4.392925 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表