王航 发表于 2015-4-9 16:15:53

烦请高手指教

本帖最后由 王航 于 2015-4-9 16:25 编辑

烦请高手指教,以下程序如何实现图片中的效果
(defun c:TT()
(VL-LOAD-COM)
(setq      AcadObject   (vlax-get-acad-object)
      AcadDocument (vla-get-ActiveDocument Acadobject)
      mSpace             (vla-get-ModelSpace Acaddocument)
)
;;输入栽钉的数量
(setq      prefix1      (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉的数量:"
                )
)
(setq prefix (strcat prefix1 "-M"))

;;输入栽钉的长度
(setq      suffix1      (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉长度:"
                )
)

(setq suffix (strcat "×" suffix1"栽钉"))

;;选择一个标注
(setq dimObj1 (car (entsel)))
(setq dimObj (vlax-ename->vla-object dimObj1))

;;添加前缀
(vla-put-TextPrefix dimObj prefix)
;;添加后缀
(vla-put-TextSuffix dimObj suffix)
(princ)
)



lucas_3333 发表于 2015-4-9 17:12:42

5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X

王航 发表于 2015-4-9 19:44:57

lucas_3333 发表于 2015-4-9 17:12 static/image/common/back.gif
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X

我不明白您的意思。\X加到什么位置?

王航 发表于 2015-4-9 20:06:00

本帖最后由 王航 于 2015-4-9 20:46 编辑

lucas_3333 发表于 2015-4-9 17:12 static/image/common/back.gif
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X
(setq suffix (strcat "×" suffix1"\X栽钉"))
我试了,还是不行的。

lucas_3333 发表于 2015-4-9 21:47:21

晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果,你就会明白我的意思

王航 发表于 2015-4-10 08:35:41

lucas_3333 发表于 2015-4-9 21:47 static/image/common/back.gif
晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果 ...

多谢指导,我还没学到那么深的层次,不过还是要谢谢你。

王航 发表于 2015-4-15 18:12:23

本帖最后由 王航 于 2015-4-15 18:49 编辑

lucas_3333 发表于 2015-4-9 17:12 static/image/common/back.gif
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X
高手您好,能否在我现在程序的基础上实现我想要的效果呢?烦请不吝赐教,万分感激!为什么我加上“\X”后,不起作用呢,而在特性里修改后缀,加“\X”就可以实现,百思不得其解,很焦虑,帮帮忙,谢谢!

王航 发表于 2015-4-16 08:14:01

lucas_3333 发表于 2015-4-9 21:47 static/image/common/back.gif
晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果 ...

高手,您在吗,烦请帮帮忙,谢谢您!

lucas_3333 发表于 2015-4-16 11:52:00

王航 发表于 2015-4-16 08:14 static/image/common/back.gif
高手,您在吗,烦请帮帮忙,谢谢您!

千万不要叫我高手 , 我只是随便玩玩
这是你想要的吗?(defun c:TT()
(VL-LOAD-COM)
(setq      AcadObject   (vlax-get-acad-object)
      AcadDocument (vla-get-ActiveDocument Acadobject)
      mSpace             (vla-get-ModelSpace Acaddocument)
)
;;输入栽钉的数量
(setq      prefix1      (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉的数量:"
                )
)
(setq prefix (strcat prefix1 "-M"))

;;输入栽钉的长度
(setq      suffix1      (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉长度:"
                )
)

(setq suffix (strcat "×" suffix1"\\X栽钉"))

;;选择一个标注
(setq dimObj1 (car (entsel)))
(setq dimObj (vlax-ename->vla-object dimObj1))

;;添加前缀
(vla-put-TextPrefix dimObj prefix)
;;添加后缀
(vla-put-TextSuffix dimObj suffix)
(princ)
)

王航 发表于 2015-4-16 13:08:07

lucas_3333 发表于 2015-4-16 11:52 static/image/common/back.gif
千万不要叫我高手 , 我只是随便玩玩
这是你想要的吗?

非常感谢您!终于实现了,您是怎么想到的呢?佩服!
页: [1] 2
查看完整版本: 烦请高手指教