Arepo 发表于 2022-7-5 15:27:54

标注文字格式

TxtFormat。pdf
 
有人能帮我通过LISP格式化一些尺寸文本吗?
我想把文本格式化为水平堆叠的分数,英寸和分数之间没有空格。E、 g.(setq txt 3.08203)(rtos txt 4 5)得到3 3/32“,但我希望它的格式为3,后跟3/32”,水平堆叠,它们之间没有空格。
非常感谢。

ronjonp 发表于 2022-7-5 15:34:10

您的示例结果显示它们垂直堆叠?

Arepo 发表于 2022-7-5 15:39:11

我正在尝试将文本格式化为pdf附件中所示的格式,我想AutoCAD称其为水平堆叠,但我认为也可以称其为垂直堆叠,基本上我希望它为英寸(无英尺),后跟堆叠在一起的英寸分数,后跟“(英寸符号),任何地方都没有空格。

BIGAL 发表于 2022-7-5 15:45:51

这是两个独立的东西维度和文本如果你对dim值进行RTO,那么它是一个字符串,不再是维度,所以需要使用我认为的多行文字,感谢上帝的度量。
 
如果它是一个维度,则可以作为维度样式,但可能会反映真实的维度长度。

Roy_043 发表于 2022-7-5 15:52:11

您不需要Lisp代码。您可以设置暗样式。
DIMLUNIT=5
DIMFRAC=0
DIMPOST=“”

Arepo 发表于 2022-7-5 15:56:00

谢谢,但我已经用这种方式设置了变量,它不会工作。此文本覆盖真实尺寸文本,并以英尺和英寸以及对角分数显示,但我的其他尺寸仅为英寸和水平分数。

BIGAL 发表于 2022-7-5 16:02:11

正如我之前所说,如果你不rtos的txt会发生什么。标注样式处理其显示值的方式。

Roy_043 发表于 2022-7-5 16:07:27

@Arepo:
也许我误解了,但我认为建立一个dimstyle会奏效。见附图。
TestDimstyle。图纸

Arepo 发表于 2022-7-5 16:13:43

设置dimstyle是可行的,但问题是从obj定义(42.3.03975)中提取的文本显示为3.03975(在本例中),格式为十进制英寸。因此,当我将其粘贴到其他位置时,它会丢失dimstyle中显示的格式。我试图从维度obj中提取文本,保留其格式,或者以显示分数英寸的方式操作3.03975,并将其粘贴到其他地方。我基本上是想得到一个输入为3.0975,输出格式为horiz的函数。分数英寸,如果有这样的事情。无论如何,谢谢你的帮助。

ronjonp 发表于 2022-7-5 16:21:27

逆向工程格式的多行文字我想到了这个:
(defun c:foo (/ i n s)
(if (setq i (getdist "\nEnter distance: "))
   (progn (setq s (rtos i 4 5))
   (setq s (cond ((setq n (vl-string-search " " s))
                  (substr (rtos 500.03975 4 5) 1 5)
                  (strcat "\\A1;"
                          (substr s 1 n)
                          "{\\H0.7x;\\S"
                          (vl-string-right-trim "\"" (substr s (+ 2 n)))
                          ";}\""
                  )
               )
               (s)
           )
   )
   (entmake (list '(0 . "MTEXT")
                  '(100 . "AcDbEntity")
                  '(67 . 0)
                  '(8 . "MTEXT")
                  '(100 . "AcDbMText")
                  (cons 10 (getvar 'viewctr))
                  (cons 40 (/ (getvar 'viewsize) 16.))
                  '(41 . 0.0)
                  '(46 . 0.0)
                  '(71 . 5)
                  '(72 . 1)
                  (cons 1 s)
                  '(7 . "ROMANS")
                  '(11 1.0 0.0 0.0)
          )
   )
   )
)
(princ)
)
页: [1] 2
查看完整版本: 标注文字格式