找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1554|回复: 2

[LISP程序]:图块修改工具lsp: 改块/X左右镜相/Y前后镜相/Z值/V新尺寸/S放缩

[复制链接]
发表于 2002-12-28 19:21:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×

  1.   [FONT=courier new]
  2. ;block edit; N改块/X左右镜相/Y前后镜相/Z值/V新尺寸/S放缩   ------lxx.97.4[2001.2m]
  3. ;dwall can be stretch at the same time when V
  4. ;tblsearch;cond;ucs
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ;;;;;;;;;;;;;;;;;------chb-------;;;;;;;;;;;;;;;;;;;;;;;;;;;main
  7. (defun c:chb (/ ss n i kw nvl sc)
  8. (princ "\nchb--block块修改工具------------------lxx.97.4[2001.2m]")
  9. ;  (COMMAND "UCS" "" "PLAN" "")
  10.   (chb1)                          ;;;;---chb1
  11.   (setvar "osmode" 0)
  12.   (setq ss(ssget)
  13.         n (sslength ss)
  14.         i 0)
  15.   (repeat n
  16.     (setq ent (entget (ssname ss i) '("*")) i (+ 1 i))
  17.     (if (or (= "INSERT" (cdr (assoc 0 ent)))
  18.             (= "attrib" (cdr (assoc 0 ent)))) (chb2));;;---chb2
  19.   )(princ)
  20. )
  21. ;;;;;;;;;;;;;;;;;;;;;-------chb1--------;;;;;;;;;;;;;;;;;;;;;;;;;
  22. (defun chb1 ( )
  23.   (initget "N X Y Z V S")
  24.   (setq kw (strcase(getkword "\nN改块/X左右镜相/Y前后镜相/Z值/V插入比例/S放缩:")))
  25.   (cond ((= "N" kw) (progn (setq cod 2 nval (getstring "\n 替换为块?:"))
  26.                      (if (null (tblsearch "block" nval)) (progn (command "insert" nval)(command)))
  27.                     ))
  28.         ((= "X" kw) (setq cod 41))
  29.         ((= "Y" kw) (setq cod 42))
  30.         ((= "Z" kw) (setq cod 43 nval (getdist "\n z 值:")))
  31.         ((= "V" kw) (setq cod 41 nvl (getdist "\n 插入比例:")))
  32.         ((= "S" kw) (setq cod 41 sc (getdist "\n scale比例:")))
  33. )  )
  34. ;;;;;;;;;;;;;;;;;-------chb2--------;;;;;;;;;;;;;;;;
  35. (defun chb2 (/ oe nent ipt ang pt1 pt2 p1 p2)      ;nval
  36.   (setq oe (assoc cod ent) val (cdr oe))
  37.   (cond
  38.         ((= "N" kw)(princ "\nOK!"))
  39.         ((= "X" kw)(setq nval (- 0 VAL)))
  40.         ((= "Y" kw)(setq nval (- 0 VAL)))
  41.         ((= "Z" kw)(princ "\nOK!"))
  42.         ((= "V" kw)(setq nval (/ (* val nvl) (abs val))
  43.                          ipt (cdr (assoc 10 ent)) ang (cdr (assoc 50 ent)))
  44.                    (COMMAND "UCS" "")             ;MUST LINE
  45.                    (setvar "osmode" 0)
  46.                    (setq pt1 (polar ipt ang val) anp (/ pi 20)
  47.                          pt2 (polar ipt ang nval)
  48.                          p1 (polar pt1 (+ (+ ang (/ pi 2)) anp) 200)
  49.                          p2 (polar pt1 (+ (- ang (/ pi 2)) anp) 200)))
  50.         ((= "S" kw)(setq nval (* sc VAL)))
  51.   )     
  52.   (setq nent (subst (cons cod nval) oe ent)) (entmod nent)
  53.   (if (or (= "V" kw) (= "S" kw))                                     ;y value
  54.       (if(/= "C" (cdr (assoc 2 ent)))
  55.       (progn  (setq oe (assoc 42 nent) val (cdr oe))
  56.         (if(= "V" kw)(setq nval (/ (* val nvl) (abs val))))
  57.         (if(= "S" kw)(setq nval (* sc VAL)))
  58.         (setq nent (subst (cons 42 nval) oe nent))
  59.         (entmod nent)
  60.   )   ))
  61.   (if (= "V" kw)
  62.       (command "_stretch" "c" p1 p2 "" pt1 pt2)  
  63. ) )
  64. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;end
  65. (princ "\n   chb---block块修改工具------------------lxx.97.4[2001.2m]")(princ)
  66.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1304个

财富等级: 财源广进

发表于 2009-2-27 00:00:04 | 显示全部楼层
这么好的东西,怎么没有人顶
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-5 13:33:43 | 显示全部楼层
谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 21:39 , Processed in 0.189389 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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