QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 2484|回复: 3
收起左侧

[已解决] 怎样采用编程手段修改文字的对齐方式?

 关闭 [复制链接]
发表于 2008-6-29 10:21:03 | 显示全部楼层 |阅读模式 来自: 中国辽宁鞍山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
怎样采用编程手段修改文字的对齐方式?' r  f- D! M- _3 R3 z' @1 o
在CAD对象的DXF组码中, 单行文字的坐标值是根据文字的插入点、字高和字宽、对齐方式计算出来的,但如何用编程手段修改文字的对齐方式,而不改变插入点的坐标???采用LISP编程!
发表于 2008-6-29 12:19:49 | 显示全部楼层 来自: 中国浙江宁波
修改文字对象dxf组码的72(对齐类型)、11(对齐点),使用subst 和assoc 函数来完成;5 ?5 D9 f9 t1 ~  G
下面是单行文本的dxf组码:
" |- d: B% D- G9 ^+ V9 ?((-1 . <图元名: 7ef01f98>) (0 . "TEXT") (330 . <图元名: 7ef01f28>) (5 . "73")
9 j3 N/ i/ d3 J' Y6 T2 A2 H6 O(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10
  K. G, S# b) H# {" Q' E107.423 85.5993 0.0) (40 . 5.0) (1 . "ffdfdd") (50 . 0.0) (41 . 1.0) (51 . 0.0)
5 i+ n2 E: G& S; @! ^9 x: G8 p9 N(7 . "Standard") (71 . 0) (72 . 1) (11 121.59 88.0993 0.0) (210 0.0 0.0 1.0)
. L8 ]& v0 I' Y) u0 P; A$ Z(100 . "AcDbText") (73 . 2))
& D9 ^' A( N  j9 W3 P8 `2 \5 g% ~7 w7 C
具体用下面的代码可以实现对文字对齐类型的修改* C) A' u' [: k1 \, D; ~( w
(setq m1 (entget (car (entsel)))
' `& l) ?* X, `4 o(setq m1 (subst (cons 72 2) (assoc 72 m1) m1))9 G3 `3 {- q3 J$ Q1 `2 K  f# C" J0 Q
(entmod m1)
# b5 H; {8 M* [$ F8 Y) J& p对齐方式由MC改为TC' r7 Z! A$ l1 X5 n: }
7 w6 E/ i' d+ N+ L5 \4 ]. Q
[ 本帖最后由 sealive_leafage 于 2008-6-29 12:42 编辑 ]

评分

参与人数 1三维币 +5 收起 理由
woaishuijia + 5 应助

查看全部评分

 楼主| 发表于 2008-6-29 20:26:39 | 显示全部楼层 来自: 中国辽宁鞍山
但请教二楼的,坐标值怎样计算?我想保持插入点不变,坐标值11与字高、字宽、对齐方式存在怎样的逻辑关系???
发表于 2008-6-29 20:40:07 | 显示全部楼层 来自: 中国浙江宁波
建议你在CAD中创建各种对齐方式的文字自己感觉一下,因对齐方式不同,与其它要素的关系有所不同,这个测试应该很容易对比出不同效果;
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表