查看: 1698|回复: 1

[转帖]通过一点画出切另外一个圆的所有圆(半径提供了选择)

[复制链接]
2443725 发表于 2004-6-19 15:14 | 显示全部楼层 |阅读模式
   同时也希望对大家有所启发和帮助!!!!!
(defun C:T_PT_CIRCLE (/ HOLDOSMODE ENT ENT1 ENT2 ENT3 PTARC PT R SS N)
  (defun DO_IT (FLAG)
    (if SS
      (progn
(setq N 0)
(repeat (sslength SS)
   (vla-put-visible
     (vlax-ename->vla-object (ssname SS N))
     FLAG
   )
   (setq N (1+ N))
)
      )
    )
  )
  (setq ENT (car (setq ENT1 (entsel "\n选择直线或圆弧..."))))
  (setq PTARC (cdr (assoc 10 (entget ENT))))
  (setq HOLDOSMODE (getvar "OSMODE"))
  (setvar "OSMODE" 0)
  (setq PT (getpoint "\n输入通过点: "))
  (setq R (getdist PT "\n输入半径: "))
  (setq SS (ssget "C" PT PT))
  (DO_IT :vlax-false)
  (command "_.CIRCLE" PT 1E-50)
  (setq ENT2 (entlast))
  (command "_.CIRCLE" "T" PT (cadr ENT1) R)
  (entdel ENT2)
  (DO_IT :vlax-true)
  (setvar "OSMODE" HOLDOSMODE)
  (princ)
)
hpy 发表于 2004-6-20 04:41 | 显示全部楼层
不错的程序。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [加入论坛]

本版积分规则

化工技术网- 赠人玫瑰 手有余香 ( 苏ICP备14035884号 )

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