明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1266|回复: 9

路过的高手,帮帮忙啊!

[复制链接]
发表于 2010-10-10 21:48 | 显示全部楼层 |阅读模式

;;;修改 文本、属性块、尺寸
(defun c:SZ (/ e1)
(setvar "cmdecho" 0)(setvar "pickbox" 21)
(setq e1 (entget (car (setq s1 (entsel "选择编辑对象:")))))
(if (= (cdr (assoc 0 e1)) "TEXT") (command "DDEDIT" s1))
(if (= (cdr (assoc 0 e1)) "MTEXT") (command "DDEDIT" s1))
(if (= (cdr (assoc 0 e1)) "INSERT") (command "DDATTE" s1))(princ))


我只想达到这样的目的:
(setq e1 (entsel "\n请选择需要编辑的文本、属性块、尺寸:"))
如果选择的对象为文本,则(command "DDATTE" );
如果选择的对象为块,则(command "DDATTE" );
这个程序谁能帮忙加个尺寸类型的选择啊,
就是说如果我选择的类型是“尺寸”哦:  '((0 . "DIMENSION"))  

那么我就执行以下这些代码:
(defun TDZ (/ e1 ds)
(SETQ DS (getstring (strcat "\n 输入替代值:" )))
(if (= DS nil ) (command "dim1" "new" (strcat DS "<>{}{}") e1 ""))
(if (/= DS nil ) (command "dim1" "new" (strcat DS "{}{}") e1 ""))
(princ))

发表于 2010-10-11 15:34 | 显示全部楼层

用cond判断比较好!如:

(cond ((= (cdr (assoc 0 e1)) "DIMENSION")
  (TDZ)
 )

((= (cdr  (assoc 0 e1)) "TEXT")

...

)

((= (cdr  (assoc 0 e1)) "MTEXT")

...

)

)

 楼主| 发表于 2010-10-11 17:43 | 显示全部楼层
本帖最后由 作者 于 2010-10-11 18:37:28 编辑

谢谢你我又学到一个好方法

 楼主| 发表于 2010-10-12 12:40 | 显示全部楼层

再问个弱智的问题,如果我(setq e1 (entsel "\n请选择需要编辑的文本、属性块、尺寸:"))
故意回车或空格(空选),则(if(= e1 nil ) (TDZ)).说明一下,这里的(TDZ)可是另一个程序。

该如何改动啊

发表于 2010-10-12 13:06 | 显示全部楼层

(cond ((= (cdr (assoc 0 e1)) "DIMENSION")
  (TDZ)
 )

((= (cdr  (assoc 0 e1)) "TEXT")

...

)

((= (cdr  (assoc 0 e1)) "MTEXT")

...

)

((= e1 nil )

(TDZ)

)

)


 楼主| 发表于 2010-10-12 13:36 | 显示全部楼层

 我空选时还是一样啊 !Error: 参数类型错误: lentityp nil

 

另一个TDZ 代码如下:

(defun TDZ  ()
(setvar "pickbox" 21)

(setvar "PICKSTYLE" 1);

(command "GROUP")

(princ))

发表于 2010-10-12 14:06 | 显示全部楼层

((= e1 nil )

(TDZ)

)

 

放在cond第一项判断

 楼主| 发表于 2010-10-12 14:15 | 显示全部楼层

我就是这样做的((= e1 nil ) (TDZ))

但是就不能继续下去 Error: 参数类型错误: lentityp nil

 

发表于 2010-10-12 14:49 | 显示全部楼层

把这句拆开!

(setq e1 (entget (car (setq s1 (entsel "选择编辑对象:")))))
为:

(setq e1 (car (setq s1 (entsel "选择编辑对象:"))))

(if e1 (setq e1 (entget e1)))

 楼主| 发表于 2010-10-12 15:14 | 显示全部楼层

谢谢你我又学到一个好方法

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

本版积分规则

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

GMT+8, 2024-3-29 17:27 , Processed in 0.242827 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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