乐筑天下

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

[编程交流] 插入带有

[复制链接]

3

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 11:27:47 | 显示全部楼层
谢谢大家。事实上,第一个答案之一对我很有效。
这个scr包含以下代码:
 
(命令“_text”“10001000,0”“40”“0”“TEXTLINE”)
 
适用于Autocad 2008。
 
谢谢,祝你好运!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:29:04 | 显示全部楼层
这会给你在绘图中使用不同的文本样式带来问题——我倾向于使用entmake。
回复

使用道具 举报

4

主题

57

帖子

53

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:33:15 | 显示全部楼层
根据我的建议,我已经开始了理解entmake的旅程,并将努力摆脱使用(命令…)的旧习惯总是
 
李,我有你指示我去的entmakex实体的列表,谢谢。我决定采用每个实体类型,并尝试通过将正确的参数传递给entmake引擎来调用它们。简单的实体(线、圆、文本等)是我可以实现的。然而,区块仍然是一个谜。我查看了一些不同的代码,认为如果先定义块,然后定义子实体,然后关闭(结束)块定义,我应该会看到块出现在屏幕上。
 
该代码在图形数据库中创建块图元的实例,但不会显示在屏幕上。
 
  1. (defun c:LOLLIPOP ()
  2. (entmake '((0 . "BLOCK")
  3.      (100 . "AcDbEntity")
  4.      (67 . 0)
  5.      (8 . "0")
  6.      (100 . "AcDbBlockReference")
  7.      (66 . 1)
  8.      (2 . "LOLLIPOP")
  9.      (10 0.0 0.0 0.0)
  10.      (70 . 2)
  11.     )
  12. )
  13. (entmake '((0 . "CIRCLE")
  14.      (100 . "AcDbEntity")
  15.      (67 . 0)
  16.      (8 . "NewLayer1")
  17.      (100 . "AcDbCircle")
  18.      (10 0.0 3.0 0.0)
  19.      (40 . 1.0)
  20.     )
  21. )
  22. (entmake '((0 . "LINE")
  23.      (100 . "AcDbEntity")
  24.      (67 . 0)
  25.      (8 . "NewLayer2")
  26.      (100 . "AcDbLine")
  27.      (10 0.0 0.0 0.0)
  28.      (11 0.0 2.0 0.0)
  29.     )
  30. )
  31. (entmake '((0 . "ATTDEF")
  32.      (100 . "AcDbEntity")
  33.      (67 . 0)
  34.      (8 . "NewLayer3")
  35.      (100 . "AcDbText")
  36.      (10 -0.375 2.4375 0.0)
  37.      (40 . 1.125)
  38.      (1 . "X")
  39.      (50 . 0.0)
  40.      (41 . 1.0)
  41.      (51 . 0.0)
  42.      (7 . "MONOSIFR")
  43.      (71 . 0)
  44.      (72 . 4)
  45.      (11 0.0 3.0 0.0)
  46.      (100 . "AcDbAttributeDefinition")
  47.      (3 . "PROMPT X:")
  48.      (2 . "TAGX")
  49.      (70 . 0)
  50.      (73 . 0)
  51.      (74 . 0)
  52.     )
  53. )
  54. (entmake '((0 . "ENDBLK") (100 . "AcDbBlockEnd") (8 . "0")))
  55. (command "_.Layer" "c" "1" "NewLayer1" "c" "2" "NewLayer2" "c" "3" "NewLayer3" "")
  56. (princ)
  57. )

 
为什么不显示?此外,我使用命令更改图层颜色。我研究了entmod,但它并没有解释修改层属性。有没有更合适的方法可以在不使用命令调用的情况下修改图层特性?
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 11:35:54 | 显示全部楼层
 
只是一个快速而肮脏的版本
(更改代码中的textstyle名称)
  1. (defun emake_lollipop (p)
  2. (entmake (list (cons 0 "INSERT")
  3.   (cons 2 "LOLLIPOP")
  4.   (cons 10 p)
  5.   (cons 66 1)
  6.                 (cons 62 256)
  7.                 (cons 39 0)
  8.                 (cons 6 "BYLAYER"))
  9.    )
  10. (entmake (list (cons 0 "ATTRIB")
  11.                 (cons 8  "NewLayer3")
  12.                 (cons 10 (mapcar '+ p '(-0.375 2.4375 0.0)))
  13.                 (cons 11 (mapcar '+ p '(0.0 3.0 0.0)))
  14.                 (cons 40 1)
  15.                 (cons 1 "Blablabla")
  16.                 (cons 2 "TAGX")
  17.                 (cons 70 0)
  18.                 (cons 73 0)
  19.                 (cons 50 0)
  20.                 (cons 41 1)
  21.                 (cons 51 0)
  22.                 (cons 7 "STANDARD")
  23.                 (cons 71 0)
  24.                 (cons 72 0)
  25.                 (cons 210 (list 0 0 1))
  26.                 (cons 73 0)
  27.                 (cons 62 256)
  28.                 (cons 39 0)
  29.                 (cons 6 "BYLAYER"))
  30.    )
  31. (entmake (list
  32.      (cons 0 "SEQEND")
  33.      (cons 8 "0"))
  34.    )
  35.    )
  36. (defun c:LOLLIPOP ()
  37. (command "_.Layer" "m" "NewLayer1" "c" "1" "NewLayer1"
  38.    "m" "NewLayer2" "c" "2" "NewLayer2"
  39.    "m" "NewLayer3" "c" "3" "NewLayer3" "")
  40.    (if (not (tblsearch "block" "lollipop"))
  41.    (progn
  42.    (entmake '((0 . "BLOCK")
  43.      (100 . "AcDbEntity")
  44.      (67 . 0)
  45.      (8 . "0")
  46.      (100 . "AcDbBlockReference")
  47.      (66 . 1)
  48.      (2 . "LOLLIPOP")
  49.      (10 0.0 0.0 0.0)
  50.      (70 . 2)
  51.     )
  52. )
  53. (entmake '((0 . "CIRCLE")
  54.      (100 . "AcDbEntity")
  55.      (67 . 0)
  56.      (8 . "NewLayer1")
  57.      (100 . "AcDbCircle")
  58.      (10 0.0 3.0 0.0)
  59.      (40 . 1.0)
  60.     )
  61. )
  62. (entmake '((0 . "LINE")
  63.      (100 . "AcDbEntity")
  64.      (67 . 0)
  65.      (8 . "NewLayer2")
  66.      (100 . "AcDbLine")
  67.      (10 0.0 0.0 0.0)
  68.      (11 0.0 2.0 0.0)
  69.     )
  70. )
  71. (entmake '((0 . "ATTDEF")
  72.      (100 . "AcDbEntity")
  73.      (67 . 0)
  74.      (8 . "NewLayer3")
  75.      (100 . "AcDbText")
  76.      (10 -0.375 2.4375 0.0)
  77.      (40 . 1.125)
  78.      (1 . "X")
  79.      (50 . 0.0)
  80.      (41 . 1.0)
  81.      (51 . 0.0)
  82.      (7 . "STANDARD")
  83.      (71 . 0)
  84.      (72 . 4)
  85.      (11 0.0 3.0 0.0)
  86.      (100 . "AcDbAttributeDefinition")
  87.      (3 . "PROMPT X:")
  88.      (2 . "TAGX")
  89.      (70 . 0)
  90.      (73 . 0)
  91.      (74 . 0)
  92.     )
  93. )
  94. (entmake '((0 . "ENDBLK")  (8 . "0"))
  95.    )
  96. )
  97.      )
  98. (while
  99. (setq p (getpoint "\nPick insertion point >> "))
  100. (emake_lollipop p)
  101. )
  102. (princ)
  103. )

 
在输入块定义后,您需要
创建块实例和属性引用的步骤
同样的方法
 
~'J'~
回复

使用道具 举报

4

主题

57

帖子

53

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:40:10 | 显示全部楼层
谢谢菲索。这是我误解的部分。
 
扔出
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:43:21 | 显示全部楼层
所有这些使用entmake和您使用命令来创建层。感觉就像是买了一辆捷豹,但为了节省100美元,在真皮座椅上省钱。
 
 
别介意,我只是随便挑。
回复

使用道具 举报

4

主题

57

帖子

53

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:45:30 | 显示全部楼层
实际上,在我的代码中,我省略了层的创建,因为当输入块实体时,层是自动创建的。我在什么地方读过这篇文章,但忘了在哪里。这是真的吗?
 
我这样做的原因是因为我试图先entmake层,在生成错误的同时,发现我不必在块中,但任何关于正确entmake层过程的额外教程都将不胜感激。
 
扔出
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:47:39 | 显示全部楼层
下面是几个创建层的示例。Vovka在entmake上做得很好。
 
http://www.theswamp.org/index.php?topic=33041.0
 
另外,要知道,在使用entmake时,如果指定了一个层(cons 8“LayerName”),如果该层不存在,则会创建该层。
回复

使用道具 举报

4

主题

57

帖子

53

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:51:41 | 显示全部楼层
哇,四个版本可供学习!
 
非常好的链接,谢谢。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:55:21 | 显示全部楼层
大多数示例(我的和罗恩的)都在VLA中,但沃夫卡的是一个很好的entmake示例。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:06 , Processed in 0.724265 second(s), 70 queries .

© 2020-2025 乐筑天下

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