明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 依然小小鸟

[提问] 如何将属性图签的图名图号显示在图框上面???

  [复制链接]
发表于 2018-12-18 15:14 | 显示全部楼层
依然小小鸟 发表于 2018-12-18 15:03
希望抓住题干 不要引开话题  解决当下的难题

这不是难题,技术上相当简单。如果从源头上规范好,这个问题也就不存在了。
如果真要这么做,又会有问题,写出来的字多大呢?如果图纸分布太广,多大的字都可能依旧看不见,又有什么意义了?而且如果字过大,到了另一张图的范围,那打印那张图的时候又会有多余图形……典型的为了解决一个问题又创造新问题,为什么不直接源头上解决?
回复

使用道具 举报

 楼主| 发表于 2018-12-18 15:28 | 显示全部楼层
mikewolf2k 发表于 2018-12-18 15:14
这不是难题,技术上相当简单。如果从源头上规范好,这个问题也就不存在了。
如果真要这么做,又会有问题 ...

1  不是所有事都可以从源头解决 2 你的源头不一定是我的源头 也不是一定是正确的源头 3、存在即是合理 如果所有事都从源头解决 那么这个论坛每天不用做各种提问了 因为大家的所有问题都是因为源头没做好 4、你的疑问 与此题无关 我所需要的东西已经写了很明白 5  怀念以前明经 大大小小的问题总有热心的人来帮忙  而不是现在 不仅没人帮忙 还给提问者泼一盆冷水 6
回复

使用道具 举报

 楼主| 发表于 2018-12-20 08:39 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2018-12-21 10:37 | 显示全部楼层
希望大神能帮忙解决
回复

使用道具 举报

发表于 2018-12-21 11:02 | 显示全部楼层
记得以前回复过类似这个问题的。

要在茫茫dwgs中找到某一张图纸,前提是知道一些基本信息例如图号,图名,最好的办法当然是之前已经有了sheetset ,这个不限于当前打开的dwg文件中跳转到目的图纸。要有sheetset ,就要先有 Layout ,named model view这些...实际上很少人去用sheetset,确实是这个完整的流程费时费力。这需要先解决高效批量生成 Layout,View的问题。秋枫写的 batchplot 非常好,基本解决了批量生成layout的问题(还需要改进UCS和图框块边方向与UCS非平行的情况),我自己写了个批量序列生成named view 的,几个工具配合,能大大提高创建sheetset的效率。

就楼主这个问题,我以前回答是:使用动态块图框,其中设置好相关的使用了 Field的attrib(例如图名,图号,比例,图幅),显示在虚图框内部(不能位于图框外面,否则获取到的boundary就是包含这些attrib的外框了,batchplot等程序没法处理这样的;虚图框是只有图框线没有公司图签栏的非打印的工作用对象)。

如果非要与如楼主这样,这些信息与图框分离,那就设置这些内容写到一个非打印图层上。流程是:选择图框中需要显示的attribs,选择图框块对象,遍历这些对象,获取每个对象的Bounday四点和ScaleX值,写信息字符串Text对象到图框上边(p1为左下点, Text对象位于p3,p4连线的上方Gap高度位置,Fit对齐方式控制总长度)。
回复

使用道具 举报

 楼主| 发表于 2018-12-22 17:54 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2018-12-24 10:53 | 显示全部楼层
求大神解决  
回复

使用道具 举报

发表于 2018-12-24 12:07 | 显示全部楼层
这个功能很有用啊,帮顶一下
回复

使用道具 举报

 楼主| 发表于 2018-12-24 12:09 | 显示全部楼层
longer1000 发表于 2018-12-24 12:07
这个功能很有用啊,帮顶一下

谢谢  看来需求量还是很大的
回复

使用道具 举报

发表于 2018-12-24 14:04 | 显示全部楼层
楼主,求人不如求己,只有自己才能了解自己的需求。刚好之前弄过类似的东西,改了一下供你参考吧。水平有限,献丑

  • (defun C:tt1(/ ent_name1 ent_name2 tuming tuhao ename a a_p lst lst_p txt txt1 txt2 label ename_p str)
  •         (setq ename_p (car (entsel "\n选取图框\n")))
  •         (setq ename1_p ename_p)
  •         (setq a_p (entnext ename_p))
  •         (setq label 0)
  •         (while a_p
  •                 (setq lst_p (entget a_p))
  •                 (if (= "图名" (cdr (assoc 2 lst_p)))
  •                         (progn
  •                                 (setq tuming (cdr (assoc 1 lst_p)))
  •                                 (setq label 1)
  •                         );endprogn
  •                 )
  •                 (if (= label 1)
  •                         (setq a_p nil)
  •                         (setq a_p (entnext a_p)))
  •   )
  •         (setq a_p  (entnext ename1_p))
  •         (setq label 0)
  •         (while a_p
  •                 (setq lst_p (entget a_p))
  •                 (if (= "图号" (cdr (assoc 2 lst_p)))
  •                         (progn
  •                                 (setq tuhao (cdr (assoc 1 lst_p)))
  •                                 (setq label 1)
  •                         );endprogn
  •                 )
  •                 (if (= label 1)
  •                         (setq a_p nil)
  •                         (setq a_p (entnext a_p)))
  •         )
  •         (setq tuhao        (substr tuhao 12 3))
  •         (setq str (strcat tuhao "   " tuming))
  •         (setq pt (getpoint "输入插入点\n"))
  •   (entmake (list '(0 . "TEXT") (cons 1 str) (cons 10 pt) (cons 7 "tssd") (cons 40 1500)))
  • )
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 10:35 , Processed in 0.151210 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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