乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 58|回复: 15

[编程交流] 尺寸te的自动图文集编辑

[复制链接]

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:17:50 | 显示全部楼层 |阅读模式
有人知道lisp例程吗?它允许我选择一个维度,然后进行编辑,并将标准注释添加到从标准注释下拉框中选择的维度,类似于MS Word中的自动图文集,或者能够循环浏览注释。
 
例如,尺寸将读取“O/A宽度”等。
 
该列表可能需要在Autocad之外的excel电子表格中进行自定义。
 
有人有什么想法吗?
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:23:23 | 显示全部楼层
再进一步考虑一下,也许可以通过将下拉列表添加到多行文字菜单来实现,该菜单在调用ddedit命令时启动。您已经可以插入字段和符号了,也许这是一种更简单的方法?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:28:11 | 显示全部楼层
您可以使用下拉菜单(前缀和/或后缀)轻松构建DCL菜单。从那里,您可以选择维度并附加附加数据。
 
标注样式有一个前缀/后缀选项,但每个样式只有一个选项可供选择。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:31:27 | 显示全部楼层
作为对旧代码的修改,我写道:
 
  1. (defun c:DimUpdate ( / *error* _read
  2.                       dcfilename strfilename strlst ss dctag ptr dcflag str )
  3. ;; © Lee Mac 2010
  4. (setq dcfilename  "DimUpdate.dcl"   ;; DCL Filename
  5.        Strfilename "DimUpdate.txt"   ;; Data Filename
  6.   )
  7. (defun *error* ( msg )
  8.    (and dcTag (unload_dialog dcTag))
  9.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  10.        (princ (strcat "\n** Error: " msg " **")))
  11.    (princ))
  12. (defun _read ( file / ofile lst nl )
  13.    (cond (  (setq ofile (open file "r"))
  14.         
  15.             (while (setq nl (read-line ofile))
  16.               (setq lst (cons nl lst)))
  17.             (close ofile)))
  18.    (reverse lst)
  19. )
  20. (cond (  (not (setq Strfilename (findfile Strfilename)))
  21.           (princ "\n** Data File not Found **"))
  22.        (  (not (setq StrLst (_read Strfilename)))
  23.           (princ "\n** Data File Empty **"))
  24.        (  (not (setq ss (ssget "_:L" '((0 . "*DIMENSION"))))))
  25.        (  (<= (setq dcTag (load_dialog dcfilename)) 0)
  26.           (princ "\n** Dialog Definition Not Found **"))
  27.        (  (not (new_dialog "dimupdate" dcTag))
  28.           (princ "\n** Dialog Could not be Loaded **"))
  29.        (t
  30.           (start_list "lst")
  31.           (mapcar (function add_list) StrLst)
  32.           (end_list)
  33.           (set_tile "dcltitle" "Dimension Notes")
  34.           (setq ptr (set_tile "lst" "0"))
  35.         
  36.           (action_tile  "lst" "(setq ptr $value)")
  37.           (setq dcFlag (start_dialog) dcTag (unload_dialog dcTag) Str (nth (atoi ptr) StrLst))
  38.           (if (= 1 dcFlag)
  39.             (
  40.               (lambda ( i / ent )
  41.                 (while (setq ent (ssname ss (setq i (1+ i))))
  42.                   (entupd                     
  43.                     (cdr
  44.                       (assoc -1
  45.                         (entmod
  46.                           (subst (cons 1 (strcat "<>" str)) (assoc 1 (entget ent)) (entget ent))
  47.                         )
  48.                       )
  49.                     )
  50.                   )
  51.                 )
  52.               )
  53.               -1
  54.             )
  55.             (princ "\n*Cancel*")
  56.           )
  57.         )
  58. )
  59. (princ)
  60. )

 

 
  1. dimupdate : dialog { key = "dctitle";
  2. spacer;  
  3. : list_box { label = "Notes:"; key = "lst";
  4.               alignment = centered; fixed_height = true;
  5.               fixed_width = true; width = 50; height = 20; }
  6. spacer;
  7. ok_cancel;
  8. }

 
如果你愿意的话,我会把添加提示留给你——只要记住在修改的地方做标记/首字母。
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:33:57 | 显示全部楼层
对于那些感兴趣的人来说,听起来有点像这样:
http://www.jtbworld.com/dimnotes.htm
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:41:39 | 显示全部楼层
这是一个非常方便的LISP例程!非常感谢分享。
 
我确实有一个问题:
我已将行“\U+2104”添加到关联的文本文件中,以将中心线符号添加到尺寸标注中。在我的计算机上,使用ACAD2011/Win7 64位,对话框在列表中显示中心线符号。在另一台带有ACAD2008/XP Pro 64位的机器上,它在对话框列表中显示为一个小的垂直矩形。我选中了选项/显示/字体,AutoCAD的两个副本使用相同的字体设置。显示正确符号的问题是操作系统问题吗?XP中是否有允许对话框显示正确符号的设置?
 
谢谢-
迈克
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 10:45:16 | 显示全部楼层
谢谢CADapult,很高兴你喜欢
 
至于显示,这将是DCL如何与XP或不同版本的AutoCAD交互的固有特性,我不确定人们会如何改变这一点
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:47:19 | 显示全部楼层
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 10:52:17 | 显示全部楼层
Yes, I can do that.  Thanks LeeMac.
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:57:08 | 显示全部楼层
Lee, Could this code be modified to work with standard Mtext, for example if i wanted to add text to a note either as a prefix or a suffix. Maybe as a separate lisp and dialogue, and maybe dtext aswell.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 21:13 , Processed in 0.622779 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表