明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1561|回复: 2

[原创][求助]有关选择集替换问题(已解决)

[复制链接]
发表于 2010-6-6 09:26:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-6-6 20:36:39 编辑

 

我自已修改了一个别人写的局部放大视图的文件以下是程序的全部内容,红色部分为写不的地方,请高手帮忙修改,要求使用

(entlast)选择刚画好的对象代替下面的碰选(entsel)动作,即不需要再碰选对象即可进入下一个运算语句
     

 

(DEFUN C:Fs( / E P PC K R N EP)
(setvar "CMDECHO" 0)
   (SETQ osnap (Getvar "osmode"))
(setvar "osmode" 0)
(command "ucs" "w")
(PRINC "\n局部放大图:")
(SETQ Ea (getpoint "\n->请指定圆心点:"))
(command "circle" ea pause)
(SETQ Eaa (entlast));此处选择刚画好的对象
(SETQ E (car (entsel));如何用刚选取的选择集替换此处的碰选对象(代替(entsel))

      PC (cdr (assoc 10 (entget E)))
      P (getpoint "\n->请指定视图放置点:")
      K (getreal "\n请指定放大比例:")
      r (cdr (assoc 40 (entget e)))
  )
(command "copy" "cp")
(setq n 0)
(repeat 180
  (command (polar pc (/(* 2 n pi)180) r))
  (setq n (+ n 1))
 )
(command "" "" pc p)
(setq n 0)
(setvar "pickbox" 5)
(command "circle" p r)
(setq ep (entlast))
(command "trim" ep "")
(repeat 180
;;; (command (polar p (/(* 2 n pi)180 )(* r 1.1)))
(command "f" (polar p (/ (* 2 n pi)180)(* r 1.01)))
   (setq n (+ n 1))
   (command (polar p(/(* 2 n pi) 180)(* r 1.01))"" )
 )
(command "")
(command "scale" "c" (list (-(car p) r)(- (cadr p)r))
                     (list (+ (car p) r) (+ (cadr p)r)) "" p k)
(command "erase" ep "")

(setvar "osmode" osnap)
(command "UCS" "P")
(command "UNDO" "e")
(setvar "CMDECHO" 1)
(princ)
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2010-6-6 09:52:00 | 显示全部楼层
  1. (DEFUN C:tt (/ E P PC K R N EP)
  2.   (setvar "osmode" 0)
  3.   (PRINC "\n局部放大图: ")
  4.   (SETQ pt (getpoint "\n请指定圆心点: "))
  5.   (command "circle" pt pause)
  6.   (SETQ e  (entlast)
  7. PC (cdr (assoc 10 (entget E)))
  8. P  (getpoint "\n请指定视图放置点: ")
  9. K  (getreal "\n请指定放大比例: ")
  10. r  (cdr (assoc 40 (entget e)))
  11.   )
  12.   (command "copy" "cp")
  13.   (setq n 0)
  14.   (repeat 180
  15.     (command (polar pc (/ (* 2 n pi) 180) r))
  16.     (setq n (+ n 1))
  17.   )
  18.   (command "" "" pc p)
  19.   (setq n 0)
  20.   (setvar "pickbox" 5)
  21.   (command "circle" p r)
  22.   (setq ep (entlast))
  23.   (command "trim" ep "")
  24.   (repeat 180
  25.     (command "f" (polar p (/ (* 2 n pi) 180) (* r 1.01)))
  26.     (setq n (+ n 1))
  27.     (command (polar p (/ (* 2 n pi) 180) (* r 1.01)) "")
  28.   )
  29.   (command "")
  30.   (command "scale"
  31.     "c"
  32.     (list (- (car p) r) (- (cadr p) r))
  33.     (list (+ (car p) r) (+ (cadr p) r))
  34.     ""
  35.     p
  36.     k
  37.   )
  38.   (command "erase" ep e "")
  39.   (princ)
  40. )

本帖子中包含更多资源

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

x
发表于 2010-6-7 14:44:00 | 显示全部楼层
对块不能修剪,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 03:20 , Processed in 0.182374 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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