几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » 数据库ObjectDBX
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-28, 01:54 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】我自已写的一个画扶梯gad的小程式

我自已写的一个画扶梯gad的小程式
www.dimcax.com
我自已写的一个画扶梯gad的小程式
修改完成,仅仅是画了一个大致图,如果有做扶梯的同仁一并改进

;'******************************************************************************
; 编写完成!
;******************************************************************************
(defun c:gad()
(setq os (getvar "osmode"))
(setvar "osmode" os)
(setq p10 (getpoint "\n请输入基点<退出>:")) ;gad开始画点
(setq s1 (getreal "\n下段长度:")) ;s1下段长度
(setq s2 (getreal "\n上段长度:")) ;s2上段长度
(setq at (getreal "\n倾斜角度:")) ;at上段长度
(setq sh (getreal "\n提升高度:")) ;sh提升高度
(setq p20 (list (+ (car p10) s1) (cadr p10))) ;算出p20点的坐标
(setq atp (/ (* at 3.1416) 180)) ;将角度转为弧度
(setq p20x (+ (car p20) (/ sh (/ (sin atp) (cos atp))))) ;计算出p20点的x值
(setq p20y (+ (cadr p10) sh)) ;计算出p20点的y值
(setq p30 (list p20x p20y)) ;计算出p30点的坐标
(setq p40 (list (+ (car p30) s2) (cadr p30))) ;算出位置p40点的坐标
(command "layer" "n" "1z" "c" "3" "1z" "l" "center" "1z" "")
(command "layer" "s" "1z" "")
(command "line" p10 p20 "")
(command "line" p20 p30 "")
(command "line" p30 p40 "")
(setq p11 (list (car p10) (- (cadr p10) 140))) ;获得p11点的坐标
(setq p12 (list (+ (car p10) 240) (- (cadr p10) 140))) ;获得p12点的坐标
(setq p13 (list (+ (car p10) 240) (- (cadr p10) 1050))) ;获得p13点的坐标
(setq atp2 (/ (* (/ (- 180 at) 2) 3.1416) 180)) ;求下边线余角
(setq ytt (/ (* 940 (cos atp2)) (sin atp2))) ;求参数ytt
(setq ytt2 (- ytt (/ (* 110 (cos atp)) (sin atp)))) ;求ytt2
(setq p14x (+ (car p10) (+ s1 ytt2))) ;求p14点的x坐标
(setq p14 (list p14x (- (cadr p10) 1050))) ;得到p14点坐标
(command "line" p10 p11 "")
(command "line" p11 p12 "")
(command "line" p12 p13 "")
(command "line" p13 p14 "")
(setq p31 (polar p14 atp (/ sh (sin atp)))) ;获得p31点的位置
(setq p41 (polar p40 -1.5708 140)) ;获得p41点位置
(setq p42 (polar p41 pi 240)) ;获得p42的坐标
(setq p43 (polar p42 -1.5708 910)) ;获得p43的坐标
(command "line" p14 p31 "")
(command "line" p31 p43 "")
(command "line" p43 p42 "")
(command "line" p42 p41 "")
(command "line" p41 p40 "")
(setvar "osmode" os)
(princ)
)

大家帮我见证,我一步一步的改下去:

等有空的时候,我再改改,使这个更完美!

谢谢楼主,我也正想作这样一个程序,因时间有限,至今未能如愿!!先下了看看。

回,chhwj
为仅仅是一个小段,公司没有时间让我接头把它做好,这也不是我工作份内的事,所以只是画了一个简图,还望见谅

有才
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 02:51 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多