乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 69|回复: 9

[编程交流] 有没有办法制作autocad

[复制链接]

3

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 11:29:33 | 显示全部楼层 |阅读模式
有没有办法让autocad在模型上的图形名称中键入?
 
例如:
(命令“-text”“J”“C”“50,50”“5”“0”“dwgname”)并自动神奇地键入真实的图形名称?(我确信代码没有我写的那么简单)
 
我试过想办法,但没有成功。谢谢你的建议
回复

使用道具 举报

NBC

4

主题

182

帖子

178

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:40:30 | 显示全部楼层
研究使用字段
回复

使用道具 举报

3

主题

44

帖子

42

银币

初来乍到

Rank: 1

铜币
14
发表于 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时,您将始终可以使用该命令。
 
希望有帮助。
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:49:13 | 显示全部楼层
 
 
事实上你离这不远了
 
  1. (command "-text" "J" "C" "50,50" "5" "0" (getvar 'dwgname))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:54:50 | 显示全部楼层
我从不建议使用命令调用来生成文本,因为它可能非常不可预测,相反,我会使用entmake(或等效的VL方法):
 
  1. (defun c:insdwg (/ M-Text p)
  2. (defun M-Text (pt str)
  3.    (entmakex (list (cons 0 "MTEXT")         
  4.                    (cons 100 "AcDbEntity")
  5.                    (cons 100 "AcDbMText")
  6.                    (cons 10 pt)
  7.                    (cons 1 str))))
  8. (if (setq p (getpoint "\nSelect Point for DWG Name: "))
  9.    (M-Text p (getvar 'DWGNAME)))
  10. (princ))
或根据您的示例:
 
  1. (defun c:insdwg (/ Text)
  2. (defun Text (pt hgt str)
  3.    (entmakex (list (cons 0 "TEXT")  (cons 10  pt)
  4.                    (cons 40   hgt)  (cons 1  str)
  5.                    (cons 72     1)  (cons 73   0)
  6.                    (cons 11    pt))))
  7. (Text '(50. 50. 0.) 5. (getvar 'DWGNAME))
  8. (princ))  

 
或者,使用字段:
 
  1. (defun c:insdwg (/ doc)
  2. (vl-load-com)
  3. (vla-addText
  4.    (if (or (eq AcModelSpace
  5.                (vla-get-ActiveSpace
  6.                  (setq doc (vla-get-ActiveDocument
  7.                              (vlax-get-acad-object)))))
  8.            
  9.            (eq :vlax-true  (vla-get-MSpace doc)))
  10.      (vla-get-ModelSpace doc)
  11.      (vla-get-PaperSpace doc))
  12.    "%<\\AcVar Filename \\f "%tc4%fn6">%"
  13.    (vlax-3D-point '(50. 50. 0.)) 5.)
  14. (princ))
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 12:02:26 | 显示全部楼层
 
如何在第一个程序中设置文字高度?我理解后两种设置。
S
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:08:53 | 显示全部楼层
第一个是最“精简”的示例,将使用所有默认设置(标准TextStyle等)。
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 12:14:31 | 显示全部楼层
 
明白了,谢谢。。。。S
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 12:22:01 | 显示全部楼层
 
通过添加更多代码
 
有关文本的更多DXF代码,请参阅此链接
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:32:15 | 显示全部楼层
 
我从来没有做过那根线!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 02:26 , Processed in 0.556145 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表