明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6031|回复: 13

多行文字及线段的(结构专业梁集中标注)随心移动

  [复制链接]
发表于 2011-12-16 14:13:04 | 显示全部楼层 |阅读模式
本帖最后由 zzl9105 于 2011-12-20 10:47 编辑

如题,详图

不知道这个判断多行文字为一起的,是如何判断的,还有那个线段,如何实现平移与伸缩的?请高手指点点思路。
选中其中的一个文字,相关的文字和线都被选中了,如何实现的。


该贴已经同步到 zzl9105的微博

本帖子中包含更多资源

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

x
发表于 2021-1-28 12:25:39 | 显示全部楼层
非常好的代码,谢谢楼主分享。
发表于 2021-1-28 13:40:29 | 显示全部楼层
代码在哪里?
发表于 2011-12-16 20:07:02 | 显示全部楼层
本帖最后由 pxt2001 于 2011-12-16 20:09 编辑

楼主的标题是否应该为:结构专业,梁平法集中标注拖动
个人拙见:
1.entsel选文字,再执行
(setq  ss (ssget "cp"
                  ptlst
                  (list        (cons 8 lay)
                        (cons 0 "text")
                  )
           )
  )
2.找一个基准点,根据文字插入点与它的距离,将文字上下排序。
3.根据文字在水平(文字角度方向),垂直(文字角度+pi/2)方向的投影的距离过滤。根据文字的角度过滤。
4.grread实现拖动。

 楼主| 发表于 2011-12-19 10:25:27 | 显示全部楼层
本帖最后由 zzl9105 于 2011-12-19 10:30 编辑
pxt2001 发表于 2011-12-16 20:07
楼主的标题是否应该为:结构专业,梁平法集中标注拖动
个人拙见:
1.entsel选文字,再执行


是结构专业的,呵呵,遇到同行了
1、你那个ptlst,是多行文字的点集么(文字左下角的)?还是所选择文字的基点(一个点)?
关键是,当集中标注很多叠在一起时,它能找到各自的集中标注的文字,即有角度一致的筛选条件,
又得有这多行文字插入点的连线与文字角度得成90才成,或者近似呈90线(可设一个距离容差范围,与其垂直线),
我的困难出现在:选择相关文字上面,垂直方向:多行文字之间也得有距离范围,比如一倍字高距离~1.2倍文字范围。
水平方向:比如相差不超过2倍字高范围。
2、还有那根线,也是可以根据与文字的距离来实现选择,但不知道这个写法如何写?
这个线与文字的距离,也可以设置一个距离范围,带上筛选条件:与文字呈90度角。
3、判断线的两个端点与所选文字集的位置关系,来定哪个端点,只是平移,哪个端点,
跟随文字集的最上一行文字,或者最下一行文字来进行伸缩。使线与文字平齐。

呵呵,比较细节的东西。主要是遇到上面所说的三个难点,使得我下不了笔写这个程序。上面所说的,
也是这个程序的设计思路,非结构专业的高手们,有空也可以写写玩下。
多谢指教!!!
发表于 2011-12-20 16:26:22 | 显示全部楼层
这个问题可以请教无所不及,它编过一个这样的程序,我一直在用,就是在图层的选择上文字和线必须在一个层上,所以探索者生成的图不能直接用!
发表于 2011-12-25 16:50:01 | 显示全部楼层
本帖最后由 pxt2001 于 2011-12-25 17:23 编辑


zzl9105 发表于 2011-12-19 10:25

是结构专业的,呵呵,遇到同行了
1、你那个ptlst,是多行文字的点集么(文字左下角的)?还是所选择文 ...

ptlst即图示中浅绿色的矩形框。

判断基准点:最上一行文字左上角与直线近端点的距离,最下一行文字左下角与直线近端点的距离,两者取最小值。前提是先要文本排序。

无极大师是“结构平法标注拖动lsp程序”的第一人,但没有源码,也没有再维护程序了。好像是去搞养生了,可惜!

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-12-26 10:29:48 | 显示全部楼层
本帖最后由 zzl9105 于 2011-12-26 10:50 编辑
pxt2001 发表于 2011-12-25 16:50
zzl9105 发表于 2011-12-19 10:25
是结构专业的,呵呵,遇到同行了
1、你那个ptlst,是多行文字的点集 ...


1、斜向的文字,涉及到正交坐标与斜向正交坐标的转换么?用grread时
2、你说的文字角度投影方向的距离,嗯,正是这个意思。这个投影方向的距离如何求的哦。
是待选文字点,到基点的文字角度方向的一根线的距离吧,要做一根线么?
3、选中一行文字,它有一个例推的模式向上或向下寻找文字,符合相关间距
之内的相关角度文字,就被选中,所有文字选择完毕后,才来定其相邻的线。
感觉这个斜交的,又增加了一个难度。

不加相关条件,选择就会出错,如上图

本帖子中包含更多资源

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

x
发表于 2012-4-12 21:45:35 | 显示全部楼层
我想这个应该这么来实现,
1、entsel点选文字,得到文字高度,角度和插入点。
2、用while来选取其它解度相同对齐点在一定范围内的其它文字。
3、用textbox得到文字的范围,通过两角点的偏移来选取和文字垂直的线,并判断离文字远的一方为基点。
4、用ggread来实现字和线的移动。
5、用initget和getkword实现实现文字方向的改变。
思路供参考。编好希望能给我分享一份哈。
发表于 2012-4-13 09:27:49 | 显示全部楼层
行数不定, 可能3,4,5,6...都可能...
很难有比较完美的规则描述这个, 不太好弄, 附加上 xdata 或xrecord会好些.
发表于 2012-4-13 14:11:53 | 显示全部楼层
有现成的用撒
发表于 2012-4-13 19:24:35 | 显示全部楼层
露草是四川人?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-17 09:15 , Processed in 0.187474 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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