乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 68|回复: 5

[求助]我是新手,帮我看一下

[复制链接]

8

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2004-10-3 20:35:00 | 显示全部楼层 |阅读模式
(defun C:test (/ pt1 screw luo luo1 pt2 pt3)
         (command "undo" "group")
;;;                 (setq olderr *error*
;;;        *error* clerr)
                 (setvar "cmdecho" 0)
                 (setq pt1 (getpoint "\n中心点: "))
                 (setq screw (getint "\n输入螺丝公称尺寸[2/3/4/5/6/8/10/12/14/16/18/20/22/24/26/28/30/33/36]:"))
                 (wai)
                 (setq pt2 (polar pt1 (- (/ pi 2)) luo))
                 (setq pt3 (polar pt1 pi luo))
                 (setq luo1 (/ screw 2))
                 (command "circle" pt1 luo1)
                 (command "_arc" "_c" pt1 pt2 pt3)
                 (setvar "cmdecho"1)
;;;                 (setq *error* olderr)
         (command "undo" "end")
)
(defun wai ()
                         (if (= screw 2)
                                                 (setq luo 0.8)
                         )
                         (if (= screw 3)
                                                 (setq luo 1.25)
                         )
                         (if (= screw 4)
                                                 (setq luo 1.65)
                         )
                         (if (= screw 5)
                                                 (setq luo 2.1)
                         )
                         (if (= screw 6)
                                                 (setq luo 2.5)
                         )
                         (if (= screw 8)
                                                 (setq luo 3.4)
                         )
                         (if (= screw 10)
                                                 (setq luo 4.3)
                         )
                         (if (= screw 12)
                                                 (setq luo 5.15)
                         )
                         (if (= screw 14)
                                                 (setq luo 6)
                         )
                         (if (= screw 16)
                                                 (setq luo 7)
                         )
                         (if (= screw 18)
                                                 (setq luo 7.75)
                         )
                         (if (= screw 20)
                                                 (setq luo 8.75)
                         )
                         (if (= screw 22)
                                                 (setq luo 9.75)
                         )
                         (if (= screw 24)
                                                 (setq luo 10.5)
                         )
                         (if (= screw 30)
                                                 (setq luo 13.25)
                         )
                         (if (= screw 33)
                                                 (setq luo 13.25)
                         )
                         (if (= screw 36)
                                                 (setq luo 16)
                         )
)
       
(princ)
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-10-4 09:08:00 | 显示全部楼层
(defun C:test (/ pt1 screw luo luo1 pt2 pt3)
         (command "undo" "group")
;;;                 (setq olderr *error*
;;; *error* clerr)
         (setq datalst '((2 . 0.8)(3 . 1.25)(4 . 1.65)(5 . 2.1)(6 . 2.5)(8 . 3.4)
                         (10 . 4.3)(12 . 5.15)(14 . 6)(16 . 7)(18 . 7.75)(20 . 8.75)
                         (22 . 9.75)(24 . 10.5)(30 . 13.25)(33 . 13.25)(36 . 16)))
                 (setvar "cmdecho" 0)
                 (setq pt1 (getpoint "\n中心点: "))
                 (setq screw (getint "\n输入螺丝公称尺寸[2/3/4/5/6/8/10/12/14/16/18/20/22/24/26/28/30/33/36]:"))
                 (setq luo (cdr (assoc screw datalst)))
                 (setq pt2 (polar pt1 (- (/ pi 2)) luo))
                 (setq pt3 (polar pt1 pi luo))
                 (setq luo1 (/ screw 2.0))
                 (command "circle" pt1 luo1)
                 (command "_arc" "_c" pt1 pt2 pt3)
                 (setvar "cmdecho" 1)
;;;                 (setq *error* olderr)
         (command "undo" "end")
         (princ)
)
回复

使用道具 举报

8

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2004-10-4 09:46:00 | 显示全部楼层

谢谢版主,请问我的程序错在哪里?为什么有时可以,有时不行? 你的程序有时可以,有时不行,为什么?如图:

ob00js1elsw.gif

ob00js1elsw.gif

回复

使用道具 举报

8

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2004-10-6 09:23:00 | 显示全部楼层
请班主帮忙!!
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-10-6 10:43:00 | 显示全部楼层
把对象捕捉关掉
在程序前加上
         (setq osm (getvar "osmode"));取得捕捉变量
         (setvar "osmode" 0);关掉捕捉
画好螺纹后加上
(setvar "osmode" osm);恢复捕捉
回复

使用道具 举报

8

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2004-10-6 15:25:00 | 显示全部楼层
谢谢!搞定了!

cw1tzozl0nz.gif

cw1tzozl0nz.gif


回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 11:38 , Processed in 1.906663 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表