tiffanysml 发表于 2022-7-6 11:29:33

有没有办法制作autocad

有没有办法让autocad在模型上的图形名称中键入?
 
例如:
(命令“-text”“J”“C”“50,50”“5”“0”“dwgname”)并自动神奇地键入真实的图形名称?(我确信代码没有我写的那么简单)
 
我试过想办法,但没有成功。谢谢你的建议

NBC 发表于 2022-7-6 11:40:30

研究使用字段

Fire_col 发表于 2022-7-6 11:46:47

是 啊
(defun c:名称();命令名称
(setq dn(getstring T“\n输入图纸名称:”);允许您在文本中输入带有空格的图形标题
(setq ip(getpoint“\n输入插入点:”);键入插入点
(setq th(getreal“\n输入文本高度:”);键入文字高度
(setq ro(getreal“\n输入文本旋转:”);键入文字旋转
(setq js(getstring“\n输入对齐:”);文本的类型对齐
(命令“text”“j”js ip th ro dn);AutoCAD绘制文字
(普林斯)
)
 
将该文本复制到记事本并将其保存为。lsp或运行vlide命令并将其键入lisp编辑器,将其保存在您的support pasth文件中,然后在打开CAD时,您将始终可以使用该命令。
 
希望有帮助。

jammie 发表于 2022-7-6 11:49:13

 
 
事实上你离这不远了
 
(command "-text" "J" "C" "50,50" "5" "0" (getvar 'dwgname))

Lee Mac 发表于 2022-7-6 11:54:50

我从不建议使用命令调用来生成文本,因为它可能非常不可预测,相反,我会使用entmake(或等效的VL方法):
 

(defun c:insdwg (/ M-Text p)

(defun M-Text (pt str)
   (entmakex (list (cons 0 "MTEXT")         
                   (cons 100 "AcDbEntity")
                   (cons 100 "AcDbMText")
                   (cons 10 pt)
                   (cons 1 str))))

(if (setq p (getpoint "\nSelect Point for DWG Name: "))
   (M-Text p (getvar 'DWGNAME)))

(princ))
或根据您的示例:
 

(defun c:insdwg (/ Text)

(defun Text (pt hgt str)
   (entmakex (list (cons 0 "TEXT")(cons 10pt)
                   (cons 40   hgt)(cons 1str)
                   (cons 72   1)(cons 73   0)
                   (cons 11    pt))))

(Text '(50. 50. 0.) 5. (getvar 'DWGNAME))
(princ))

 
或者,使用字段:
 

(defun c:insdwg (/ doc)
(vl-load-com)

(vla-addText

   (if (or (eq AcModelSpace
               (vla-get-ActiveSpace
               (setq doc (vla-get-ActiveDocument
                           (vlax-get-acad-object)))))
         
         (eq :vlax-true(vla-get-MSpace doc)))

   (vla-get-ModelSpace doc)
   (vla-get-PaperSpace doc))

   "%<\\AcVar Filename \\f \"%tc4%fn6\">%"

   (vlax-3D-point '(50. 50. 0.)) 5.)

(princ))

stevesfr 发表于 2022-7-6 12:02:26

 
如何在第一个程序中设置文字高度?我理解后两种设置。
S

Lee Mac 发表于 2022-7-6 12:08:53

第一个是最“精简”的示例,将使用所有默认设置(标准TextStyle等)。

stevesfr 发表于 2022-7-6 12:14:31

 
明白了,谢谢。。。。S

asos2000 发表于 2022-7-6 12:22:01

 
通过添加更多代码
 
有关文本的更多DXF代码,请参阅此链接

Lee Mac 发表于 2022-7-6 12:32:15

 
我从来没有做过那根线!
页: [1]
查看完整版本: 有没有办法制作autocad