明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3602|回复: 19

飞哥的画圆中心程序的一点不足

  [复制链接]
发表于 2004-12-14 08:50:00 | 显示全部楼层 |阅读模式
我调用这个程序,如果我不做任何操作,直接回车退出,这样的话,原先我捕捉是开的,直接退出后捕捉被关掉了,而且捕捉模式里没有一个打了勾的.我不知道如何改进 飞哥的原程序为: ;命令:Center
;功能:画圆中心线,长出圆半径1/3. (defun c:center (/ ss i j ent ents ptc r pts os)
(setq ss (ssget '((0 . "CIRCLE"))))
(setq i 0)
(command "_.undo" "be")
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)

(repeat (sslength ss)
(setq ent (ssname ss i))
(setq ents (entget ent))
(setq ptc (cdr (assoc 10 ents))
r (cdr (assoc 40 ents))
j 0
pts '()
)
(repeat 4
(setq pts
(append pts (list (polar ptc (* j (/ pi 2)) (+ r (/ r 3)))))
)
(setq j (1+ j))
)
(command "_.line"
(nth 0 pts)
(nth 2 pts)
""
"_.line"
(nth 1 pts)
(nth 3 pts)
""
)
(setq i (1+ i))
)
(command "_.undo" "e")
(setvar "osmode" os)
(princ)
)
发表于 2022-9-27 19:01:22 | 显示全部楼层
楼主好走走看看转一转
发表于 2004-12-14 09:01:00 | 显示全部楼层
把         (SETVAR "OSMODE" 0)改为用下面的方式


(setvar "osmode" (logior (getvar "osmode") 16384)); 关辅捉


(setvar "osmode" (logand (getvar "osmode") 49151));开辅捉
发表于 2004-12-15 09:00:00 | 显示全部楼层
晓雨发表于2004-12-14 8:50:00回复:(晓雨)飞哥的画圆中心程序的一点不足我调用这个程序,如果我不做任何操作,直接回车退出,这样的话,原先我捕捉是开的,直接退出后捕捉被关掉了,而且捕捉模式里没有一个打了勾的.我不

嘿嘿,叫得挺甜的嘛。把以下几名注释掉得了,在本程序中不影响使用 ; (setq os (getvar "osmode"))
; (setvar "osmode" 0) ;(setvar "osmode" os)
发表于 2004-12-15 17:19:00 | 显示全部楼层
zhang007发表于2004-12-15 9:00:00嘿嘿,叫得挺甜的嘛。把以下几名注释掉得了,在本程序中不影响使用 ; (setq os (getvar \"osmode\")) ; (setvar \"osmode\" 0) ;(setvar \"osmode\" os)
[code] ;;别错误说明,这三句极重要
;;(setq os (getvar "osmode"))
;;(setvar "osmode" 0)
;;.........
;;(setvar "osmode" os) (defun C:CENTER (/ SS I J ENT ENTS PTC R PTS OS)
(if (setq SS (ssget '((0 . "CIRCLE"))))
(progn
(setq I 0)
(command "_.undo" "be")
(setvar "cmdecho" 0)
(setq OS (getvar "osmode"))
(setvar "osmode" 0)
(repeat (sslength SS)
(setq ENT (ssname SS I))
(setq ENTS (entget ENT))
(setq PTC (cdr (assoc 10 ENTS))
R (cdr (assoc 40 ENTS))
J 0
PTS '()
)
(repeat 4
(setq PTS
(append PTS (list (polar PTC (* J (/ pi 2)) (+ R (/ R 3)))))
)
(setq J (1+ J))
)
(command "_.line"
(nth 0 PTS)
(nth 2 PTS)
""
"_.line"
(nth 1 PTS)
(nth 3 PTS)
""
)
(setq I (1+ I))
)
(command "_.undo" "e")
(setvar "osmode" OS)
)
)
(princ)
) [\code]
发表于 2004-12-15 18:51:00 | 显示全部楼层
zhang007发表于2004-12-15 9:00:00以下是引用晓雨在2004-12-14 8:50:09的发言:嘿嘿,叫得挺甜的嘛。
可能你不认识我,这样不算甜吧,大家都这么叫的。。。加上DEAR才甜点
发表于 2004-12-16 14:16:00 | 显示全部楼层
为什么中心线会跑到较远的地方??
发表于 2004-12-16 19:57:00 | 显示全部楼层
ucs要改在世界坐标


(command "ucs" "")
发表于 2004-12-16 21:06:00 | 显示全部楼层
多谢指点
 楼主| 发表于 2004-12-16 21:29:00 | 显示全部楼层
谢谢各位MY Dear!
发表于 2004-12-17 02:16:00 | 显示全部楼层
哈哈,每人都有份
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-16 04:18 , Processed in 0.194572 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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