Cholomanchuten 发表于 2022-7-6 10:53:45

插入带有

我有一个。scr声明:
 
文本10001000,0 40 0 PATOFELIZ
 
 
但是Autocad 2008不使用命令插入文本。scr!
它打开一个文本窗口,邀请我写任何我想写的东西。
我想插入文本;不要写!
 
 
看在上帝的份上,有人知道解决这个问题的方法吗?
 
非常感谢你。再说一遍,请原谅我的英语,我是阿根廷。

CHLUCFENG 发表于 2022-7-6 10:59:45

我有2006年和2009年(跳过了几年购买软件),然而,在2009年,脚本将PATOFELIZ打印到屏幕上的适当位置。
 
TEXT      Layer: "0"
                           Space: Model space
                  Handle = 276d
            Style = "Annotative"
       Annotative: Yes
Annotative scale:1/8" = 1'-0"
            Font file = romans.shx
            start point, X=1000.00000Y=1000.00000Z=0.00000
paper text height40.00000
model text height 3840.00000
             text PATOFELIZ
         rotation angle   0.00
            width scale factor   0.75000
      obliquing angle   0.00
       generation normal
 
2006年,它在适当的插入点以40度角打印0 PATOFELIZ:
 
TEXT      Layer: "0"
                           Space: Model space
                  Handle = 3816
            Style = "MONOSIFR"
            Font file = MONOSIFR.shx
            start point, X=1000.0000Y=1000.0000Z=   0.0000
         height    4.5000
             text 0 PATOFELIZ
         rotation angle40.00
            width scale factor    1.0000
      obliquing angle   0.00
       generation normal
 
将脚本部分替换为:
 
(command "_text" "1000,1000,0" "40" "0" "TEXTLINE")
 
还是太麻烦了?

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

使用entmake
 
http://www.cadtutor.net/forum/showthread.php?t=44768

dbroada 发表于 2022-7-6 11:03:34

你试过用文字代替文字吗?

CHLUCFENG 发表于 2022-7-6 11:09:22

好的,李,这里的每个人都喜欢entmake,所以我需要学会使用它。我查看了这篇文章,从你的代码部分开始:
 

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

 
然后尝试使用以下方法调用:
 
(TEXT '(1000 1000 0) '(40) '(TEXTLINE))
 
然后得到
 
error: bad DXF group: (40 40)
 
我试图学习entmake,不确定如何正确传递变量。然而,我确实了解了什么是“NURB”。

Lee Mac 发表于 2022-7-6 11:12:19

只有点需要是一个列表,因此请尝试:
 

(TEXT '(1000 1000 0) 40 "TEXTLINE")

 
Entmake是创建ACAD实体的最快方法,而且非常健壮。

CHLUCFENG 发表于 2022-7-6 11:14:27

太好了,谢谢你的澄清。我还将尝试其他entmake函数。
 
这些胆小鬼有什么想法吗?
 
扔出

Lee Mac 发表于 2022-7-6 11:18:41

我提供的函数设置为使用最小DXF要求来创建实体,以便于使用。
 
如果希望偏离默认线型/颜色/厚度等,则需要将这些DXF代码添加到列表中。所有这些都在我链接到你的帖子中提到过
 
此处可以找到哪些组码需要哪种数据类型的参考。
 

Freerefill 发表于 2022-7-6 11:19:35

李,你似乎喜欢使用entmake,所以我有个问题。我自己没有经常使用它,主要是因为我放的东西往往有很多不同的特点。对于每个特征,必须将指定的变量传递给函数。当然,为了保持代码整洁,我们会从最少的输入开始。然而,随着我的继续,我添加了越来越多的内容,这意味着要返回并更新旧的函数调用,以添加大量的nil或其他内容,以解释函数本身发生了变化的事实。你遇到过这种情况吗?如果是的话,你有办法保持一切整洁吗?或者你的entmake函数变得长而笨拙,所有的函数调用都比需要的长得多吗?

Lee Mac 发表于 2022-7-6 11:25:11

在我使用entmake的大部分时间里,几乎不需要额外的代码,因此它是使用类似于我链接的函数的快速案例。但是,在我创建一个包含大量额外数据的对象时,我要么使用这些函数中的一个,并为附加数据添加一个额外参数,要么只是为我正在做的事情专门创建一个函数——或者更确切地说,如果我只创建一个对象的一个实例,那么只需根据主函数使用entmake。
 
虽然VL的属性/方法看起来更直观,但entmake在某些情况下可以更简洁,当然比命令调用或VL快得多。
 
此外,数据以列表格式存储,AutoLISP本机设计用于操作列表,因此使用entmake over VL更容易操作对象属性。(示例-将文本转换为另一个线程中的插入)。
 
页: [1] 2
查看完整版本: 插入带有