明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3465|回复: 8

更改坐标原点的LISP

[复制链接]
发表于 2011-12-16 12:22 | 显示全部楼层 |阅读模式
我写的坐标原点重新关联的LISP,如下:有一个问题请教高手,怎么只选到坐标尺寸,而过滤掉线性,直径,半径,角度等其它尺寸呢?
(defun c:uu (/ v1 nori ss i nori1 s1 en_data oori oori1 en_data);坐标原点重新关联
  (setq v1 (getvar "ucsname"))
  (command "ucs" "w")
  (setq nori (getpoint "\n=>选择新原点!"))
  (prompt "\n=>请框选需要关联新原点的坐标尺寸")
  (setq ss (ssget '((0 . "DIMENSION")
     )
    )
i  -1
  )
  (setq nori1 (cons 10 nori))
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq en_data (entget s1))
    (setq oori (assoc 10 en_data))
    (setq oori1 (cdr oori))
    (setq en_data (subst nori1 oori en_data))
    (entmod en_data)
  )
  (command "ucs" "r" v1)
  (princ)
)
发表于 2011-12-16 13:14 | 显示全部楼层
(ssget '((0 . "DIMENSION") (70 . 38)))
发表于 2011-12-16 13:24 | 显示全部楼层
caoyin 发表于 2011-12-16 13:14
(ssget '((0 . "DIMENSION") (70 . 38)))

这个好像不对,只能选到X方向的标注
发表于 2011-12-16 14:11 | 显示全部楼层
【KAIXIN】 发表于 2011-12-16 13:24
这个好像不对,只能选到X方向的标注

是的哦
(ssget '((0 . "DIMENSION")
         (-4 . "<OR")
         (70 . 38)
         (70 . 102)
         (-4 . "OR>")
))
发表于 2011-12-16 14:16 | 显示全部楼层
caoyin 发表于 2011-12-16 14:11
是的哦
(ssget '((0 . "DIMENSION")
         (-4 . "")

还应该补充(70 . 230),标注文字可能被移动位置。
128 = 这是一个添加到其他组 70 值的位值(位 8)(如果标注文字已放置到用户定义的位置,而不是放置到默认位置)
发表于 2011-12-16 14:33 | 显示全部楼层
caoyin 发表于 2011-12-16 14:11
是的哦
(ssget '((0 . "DIMENSION")
         (-4 . "")

版主,可以适当的解释下不?
 楼主| 发表于 2011-12-18 12:54 | 显示全部楼层
谢谢!很好用!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 13:09 , Processed in 0.739935 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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