yhly555 发表于 2016-10-11 15:16:49

【已解答】关于Entmake单行文本问题

本帖最后由 yhly555 于 2016-10-14 12:36 编辑


;Entmake单行文本
;str,字符串
;pt,插入点
;th,文字高度
;col,颜色
;ali,对齐方式
;coe,比例系数

(defun Make-TEXT1 (str pt th)
(entmakeX
    (list '(0 . "TEXT") (cons 1 str) (cons 10 pt) (cons 40 th))
)
)

(defun Make-TEXT2 (str pt th col ali coe)
(entmakeX
    (list '(0 . "TEXT") (cons 1 str) (cons 10 pt) (cons 40 th) (cons 62 col) (cons 72 ali) (cons 41 coe))
)
)

;以下可以正常运行
(defun c:T1()
(Make-TEXT1 "你好" (getpoint "\指定点:") 10)
)

;以下不管在哪里指定插入点,都会在坐标原点写入文字
(defun c:T2()
(Make-TEXT2 "你好" (getpoint "\指定点:") 10 256 4 0.8)
)存在问题,用T2不管在哪里指定插入点,都会在坐标原点写入文字请大家帮忙说一下其中的原因
谢谢

可以了,改成以下就可以了(defun Make-TEXT2 (str pt th col ali1ali2 coe)
(entmakeX
    (list '(0 . "TEXT") (cons 1 str) (cons 10 pt)(cons 11 pt) (cons 40 th) (cons 62 col) (cons 72 ali1) (cons 73 ali2) (cons 41 coe))
)
)


cdma2546 发表于 2016-10-11 15:22:49

把你的捕捉关掉试试可手动 也可用代码关掉捕捉操作完恢复

Sylvanas 发表于 2016-10-11 16:11:01

10是基础点 ,11才是对齐参考点,还有对齐方式并不只有72

看看DXF的资料或者移动一下文字+改变对齐方式看看DXF有什么变化

自贡黄明儒 发表于 2016-10-11 16:16:30

一般说来,entmake与捕捉无关。建议楼主了解一下组码72的作用

yhly555 发表于 2016-10-11 19:54:16

cdma2546 发表于 2016-10-11 15:22
把你的捕捉关掉试试可手动 也可用代码关掉捕捉操作完恢复

谢谢!
这个我试过了,与对象捕捉无关。

yhly555 发表于 2016-10-11 19:59:58

Sylvanas 发表于 2016-10-11 16:11
10是基础点 ,11才是对齐参考点,还有对齐方式并不只有72

看看DXF的资料或者移动一下文字+改变对齐方式 ...

谢谢!
将10改为11,同加了73组码也是一样,
还是在坐标原点

yhly555 发表于 2016-10-11 20:04:41

自贡黄明儒 发表于 2016-10-11 16:16
一般说来,entmake与捕捉无关。建议楼主了解一下组码72的作用

谢谢!
不太懂这些,在找资料来了解一下。

Sylvanas 发表于 2016-10-12 08:53:28

本帖最后由 Sylvanas 于 2016-10-12 09:02 编辑

yhly555 发表于 2016-10-11 19:59
谢谢!
将10改为11,同加了73组码也是一样,
还是在坐标原点
不是将10改为11 ,10是基础点必须要有的,同时你想有对齐方式,11也得有,好像某几种对齐方式不需要,不记得了

你就随便拿个单行文字改变一下 ,对比dxf信息就能看出变化了,应该不难

yhly555 发表于 2016-10-12 12:49:44

Sylvanas 发表于 2016-10-12 08:53
不是将10改为11 ,10是基础点必须要有的,同时你想有对齐方式,11也得有,好像某几种对齐方式不需要,不 ...

嗯,已经解决了,谢谢!
页: [1]
查看完整版本: 【已解答】关于Entmake单行文本问题