乐筑天下

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

[编程交流] 新的块编辑选项(AutoCAD

[复制链接]

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 17:03:52 | 显示全部楼层 |阅读模式
大家好,
 
 
聪明人的快速问题。。
 
 
我注意到AutoCAD 2017在我使用的块编辑功能中有一个新功能。现在默认为“多模式”。这是一个可以在lisp中“强制”设置为“single”的setvar吗?我使用oevrall lisp,可以编辑所有内容,至少是文本多行文字、attdef和dims。
 
 
 
 
2016:
命令:TEXTEDIT
选择注释对象:
 
 
2017:
命令:TEXTEDIT
当前设置:编辑模式=单一
选择注释对象或[模式]:m
输入文本编辑模式选项[单个/多个]:
 
 
(默认值为多)
一旦设置为single,我的lisp再次工作。
 
 
  1. (defun c:ed (/ SS CNT NUM SENT ANS oldsnp ent els tx1 sta )
  2. ; (TEXTSCR) (graphscr)
  3. (command "undo" "group")
  4. (setq oldsnp (getvar "snapmode"))
  5. (setvar "snapmode" 0)
  6. (prompt "\n  Multi-Edit  ")
  7. (if (>= (getvar "acadver") "13")
  8.    (setq SS (ssget '((-4 . "<or")
  9.        (0 . "RTEXT")
  10.                      (0 . "ATTDEF")
  11.                      (0 . "DIMENSION")
  12.                      (0 . "MTEXT")
  13.                      (0 . "TEXT")
  14.        (0 . "MULTILEADER")
  15.                      (0 . "TOLERANCE")
  16.                      (-4 . "<and")
  17.                      (0 . "INSERT")
  18.                      (66 . 1)
  19.                      (-4 . "and>")
  20.                      (-4 . "or>")
  21.                     )
  22.             )
  23.    )
  24.    (setq SS (ssget '((-4 . "<or")
  25.                      (0 . "ATTDEF")
  26.                      (0 . "TEXT")
  27.                      (-4 . "<and")
  28.                      (0 . "INSERT")
  29.                      (66 . 1)
  30.                      (-4 . "and>")
  31.                      (-4 . "or>")
  32.                     )
  33.             )
  34.    )
  35. )
  36. (if SS
  37.    (progn
  38.      (setq NUM (sslength SS)
  39.            CNT 0
  40.      )
  41.      (while (< CNT NUM)
  42.        (princ (strcat "\r Edit : "
  43.                       (rtos (1+ CNT) 2 0)
  44.                       " of "
  45.                       (rtos NUM 2 0)
  46.                       ": "
  47.               )
  48.        )
  49.        (setq SENT (ssname SS CNT))
  50.        (setq ANS (cdr (assoc 0 (entget SENT))))
  51.        (cond
  52.          ((or (eq ANS "ATTDEF")
  53.               (eq ANS "TEXT")
  54.               (eq ANS "TOLERANCE")
  55.               (eq ANS "MULTILEADER")
  56.           )
  57.           (command "textedit" SENT \)
  58.          )
  59.   ((or (eq ANS "MTEXT")
  60.           )
  61.           (command "mtedit" SENT \)
  62.          )
  63.   ((or (eq ANS "rtext")
  64.           )
  65.           (command "rtedit" SENT \ pause)
  66.          )
  67.   
  68.   ((or (eq ANS "DIMENSION")
  69.           )
  70.           (command "textedit" SENT \)   ;**** HERE IT SHOULD BE IN SINGLE VAR ***
  71.          )
  72.    
  73.    
  74. ;;;;;;;;;; fundtion for dte - not available
  75.    
  76.          ((eq ANS "INSERT")
  77.          ; (command "DDatte" SENT \)
  78. (sssetfirst nil (ssadd sent))
  79. (command "ddatte") ; ddatte2 doet het even niet...
  80.    )
  81.   ((eq ANS "RTEXT") (c:RTEDIT))
  82.          )
  83.        (entupd SENT)
  84.        (setq CNT (1+ CNT))
  85.      )
  86.      (princ "  Done... ")
  87.    )
  88.    (princ "  Nothing selected. ")
  89. )
  90. (setvar "snapmode" oldsnp)
  91. (command "undo" "end")
  92. (princ)
  93. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:26:18 | 显示全部楼层
你可以返回is it 13 14 15 16 17等,这样就可以修补你的程序进行检查,有点像文本ht set或is it zero,有两个答案。
 
  1. (setq vrsn (vlax-product-key))
  2. (cond
  3.         ((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
  4.         ((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
  5.         ((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
  6.         ((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
  7.         ((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
  8.         ((vl-string-search "R19.1" vrsn)(setq appstr "10.3"));;2014
  9.         ((vl-string-search "R20.0" vrsn)(setq appstr "10.4"));;2015
  10.         ((vl-string-search "R20.1" vrsn)(setq appstr "10.5"));;2016     
  11.         ((vl-string-search "R21.0" vrsn)(setq appstr "11.0"));;2017   
  12. ((alert "This version of C3D not supported!"))
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:59:09 | 显示全部楼层
文本编辑模式
回复

使用道具 举报

37

主题

264

帖子

236

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-5 18:04:14 | 显示全部楼层
谢谢你,罗伊。。这似乎合乎逻辑。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 08:33 , Processed in 0.429765 second(s), 60 queries .

© 2020-2025 乐筑天下

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