明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: userzhl

[求助]问一个困扰多日的问题,哪位高手帮忙解决一下?

  [复制链接]
发表于 2007-3-19 09:42:00 | 显示全部楼层

(setq
sst (ssget "X" '((0 . "*TEXT")))
ssd (ssget "X" '((0 . "DIMENSION")))
)
(if sst (command "chprop" sst "" "la" txt ""))
(if ssd (command "chprop" ssd "" "la" dim ""))
)

以上代码是可以运行的,出错可能是txt没有赋值或赋值不对,还有diy函数在哪里运行,

默认值的情况可能是txt应该设为局部变量,你运行过一次,txt就有值了,(if (= txt nil)
(set_tile "txt" "TEXT")
(set_tile "txt" txt))这一句在初始化时只能显示为txt的值了.

 楼主| 发表于 2007-3-20 09:45:00 | 显示全部楼层
本帖最后由 作者 于 2007-3-27 18:32:03 编辑

其实我想要的功能就是附件中程序命令YY对话框中的图层归正,哪位高手帮忙完善一下

本帖子中包含更多资源

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

x
发表于 2007-3-20 10:56:00 | 显示全部楼层

试试

本帖子中包含更多资源

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

x
发表于 2007-3-20 10:58:00 | 显示全部楼层
填充的模块,你也可以完善了
 楼主| 发表于 2007-3-20 12:49:00 | 显示全部楼层

非常感谢byghbcx

试了一下可以了!

 楼主| 发表于 2007-3-21 12:23:00 | 显示全部楼层

但是有一个问题就是,对话输入框及颜色按钮不能保存上次输入的值和颜色,可不可以完善一下?

发表于 2007-3-21 14:13:00 | 显示全部楼层
关于上次输入值的保存问题论坛上有好多,可以保存在系统变量USERR1-5中、注册表中、文件中。每次打开时先寻找保存的地方有没有值,如有则读取,如没有则取默认值。结束时写入保存位置。应该很简单的。
 楼主| 发表于 2007-3-22 13:37:00 | 显示全部楼层

为何我加了个处理选项就不行了呢?

(defun MLA (layname laycolor)
(vl-load-com)
(SETVAR "CMDECHO" 0)
(setq acadobject1 (vlax-get-acad-object)
acaddocument1 (vla-get-activedocument acadobject1)
mspace1 (vla-get-modelspace acaddocument1))
(setq LayerSel (vla-get-Layers AcadDocument1))
(setq LayerObj (vla-add LayerSel layname))
(if (/= nil (tblsearch "layer" layname))
(progn
(vla-put-activelayer AcadDocument1 LayerObj)
(if (/= nil laycolor)
(vla-put-color LayerObj laycolor)))
(progn
(vla-get-activelayer AcadDocument1 LayerObj)
(if (/= nil laycolor)
(vla-put-color LayerObj laycolor)))))

(defun c:GG ( / dcl_id txt dim hat txtcolor dimcolor hatcolor next)
(setq dcl_id (load_dialog "tcgz.dcl"))
(new_dialog "tcgz" dcl_id)
(if (= txt nil)
(set_tile "ss1" "文字")
(set_tile "ss1" txt))

(if (= dim nil)
(set_tile "ss2" "标注")
(set_tile "ss2" dim))

(if (= hat nil)
(set_tile "ss3" "填充")
(set_tile "ss3" hat))
(if (= txtcolor nil) (setq txtcolor 3))
(fill_img "img1" txtcolor)
(if (= dimcolor nil) (setq dimcolor 6))
(fill_img "img2" dimcolor)
(if (= hatcolor nil) (setq hatcolor 8))
(fill_img "img3" hatcolor)
(action_tile "ss1" "(setq txt $value)")
(action_tile "ss2" "(setq dim $value)")
(action_tile "ss3" "(setq hat $value)")
(action_tile "img1" "(setq txtcolor (ACAD_COLORDLG txtcolor))(fill_img \"img1\" txtcolor)")
(action_tile "img2" "(setq dimcolor (ACAD_COLORDLG dimcolor))(fill_img \"img2\" dimcolor)")
(action_tile "img3" "(setq hatcolor (ACAD_COLORDLG hatcolor))(fill_img \"img3\" hatcolor)")
(action_tile "cancel" "(done_dialog 0)")
(action_tile "accept" "(get_w)(done_dialog 1)")
(setq next (start_dialog))
(cond
((= next 01)(c:malay))
))
(defun get_w()
(setq txt (get_tile "ss1"))
(setq dim (get_tile "ss2"))
(setq hat (get_tile "ss3"))
)
(DEFUN c:malay ( / sst ssd ssh)
(ZHL_mla txt txtcolor)
(ZHL_mla dim dimcolor)
(ZHL_mla hat hatcolor)
(setq
sst (ssget "X" '((0 . "*TEXT")))
ssd (ssget "X" '((0 . "DIMENSION")))
ssh (ssget "X" '((0 . "HATCH")))
)
(if sst (setq sst (ssget "X" '((0 . "*TEXT")))) (command "chprop" sst "" "la" TXT ""))
(if ssd (setq ssd (ssget "X" '((0 . "DIMENSION")))) (command "chprop" ssd "" "la" dim ""))
(if ssh (setq ssh (ssget "X" '((0 . "HATCH")))) (command "chprop" ssh "" "la" hat ""))
)

发表于 2007-3-23 08:05:00 | 显示全部楼层

(DEFUN c:malay ( / sst ssd ssh)
(ZHL_mla txt txtcolor)
(ZHL_mla dim dimcolor)
(ZHL_mla hat hatcolor)
(setq
sst (ssget "X" '((0 . "*TEXT")))
ssd (ssget "X" '((0 . "DIMENSION")))
ssh (ssget "X" '((0 . "HATCH")))
)
(if sst (setq sst (ssget "X" '((0 . "*TEXT")))) (command "chprop" sst "" "la" TXT ""))
(if ssd (setq ssd (ssget "X" '((0 . "DIMENSION")))) (command "chprop" ssd "" "la" dim ""))
(if ssh (setq ssh (ssget "X" '((0 . "HATCH")))) (command "chprop" ssh "" "la" hat ""))
)

zhl_mla是什么函数

 楼主| 发表于 2007-3-23 12:24:00 | 显示全部楼层
试过了,ZHL_mla改成mla,也不行,不知是什么原因.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-20 21:29 , Processed in 0.199641 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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