找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 722|回复: 7

[求助] 【已解决】为什么这个代码有时运行没问题,有时有问题?

[复制链接]
发表于 2020-4-22 01:22:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 memdy 于 2020-4-24 23:13 编辑

打开cad,直接运行"XD4"这个代码时会出现问题,但时如果运行“XDTB_TEXTSETULINE”这个代码后再运行“XD4”这个代码,“XD4”代码能正常运行,请问这是什么原因。

“XDTB_TEXTSETULINE”代码在在站帖子上下的,地址:http://bbs.xdcad.net/forum.php?m ... =%CF%C2%BB%AE%CF%DF

"XD4"代码是在“XDTB_TEXTSETULINE”基础上的小修改

  1. (defun c:XD4 (/ ss dbl xdir ydir p1 p2 p3 p4 p5 p6 dist base)
  2.   (while (and (xdrx_initssget "\n选择要加下划线的文字<退出>:")
  3.               (setq ss (xdrx_ssget '((0 . "*text"))))
  4.               (setq dbl 1)
  5.         ;(xdrx_initget "Y N")
  6.               ;(setq dbl (xdrx_yesorno "\n是否是双线" 1))
  7.                                         ;(setq att (xdrx_yesorno "\n是否转属性" 1))
  8.               ;(xdrx_initget)
  9.          )
  10.     (setq #ext 0.05
  11.           xdir (cadr (xdrx_entity_getecs (ssname ss 0)))
  12.           ydir (xdrx_vector_perpvector xdir)
  13.           box  (xdrx_entity_box ss xdir)
  14.           box  (xd::pnts:ucs2wcs box)
  15.           base (xd::geom:get9pt box 5)
  16.           p1   (car box)
  17.           p2   (cadr box)
  18.           dist (distance p1 p2)
  19.           p1   (mapcar '+ p1 (xdrx_vector_product xdir (- (* #ext dist))))
  20.           p2   (mapcar '+ p2 (xdrx_vector_product xdir (* #ext dist)))
  21.           h    (distance (car box) (last box))
  22.           p3   (mapcar '+ p1 (xdrx_vector_product ydir (- (* 0.333 h))))
  23.           p4   (mapcar '+ p2 (xdrx_vector_product ydir (- (* 0.333 h))))
  24.           p5   (mapcar '+
  25.                        p3
  26.                        (xdrx_vector_product
  27.                          ydir
  28.                          (- 120)
  29.                        )
  30.                )
  31.           p6   (mapcar '+ p4 (xdrx_vector_product ydir (- 120)))
  32.     )
  33.     (xdrx_polyline_make p3 p4)
  34.     (ssadd (entlast) ss)
  35.     (xdrx_setpropertyvalue (entlast) "constantwidth" (* 90 wid))
  36.     (if        (= dbl 1)
  37.       (progn (xdrx_polyline_make p5 p6) (ssadd (entlast) ss))
  38.     )
  39.     (xdrx_block_make
  40.       (strcat "xd_text_xiahua_" (xdrx_string_rand 6))
  41.       ss
  42.       base
  43.       t
  44.     )
  45.     (xd::block:txt2att (entlast))
  46.   )
  47.   (princ)
  48. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-4-22 16:13:43 | 显示全部楼层
有问题时候,是什么表现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-22 17:47:04 | 显示全部楼层
XDSoft 发表于 2020-4-22 16:13
有问题时候,是什么表现?

3ba3a12cb6cd2c8387ea582eade0278.png

"1"是第一次运行“XD4”代码的结果
"2"是第一次运行“XDTB_TEXTSETULINE”代码的结果
"3"是第二次运行“XD4”代码的结果

“1”的文字部分没有生成增强属性编辑器的块,文字还是单独的text文本
“2”和“3”的文字部分都生成了增强属性编辑器的块

谢谢!

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2020-4-22 18:08:00 | 显示全部楼层
memdy 发表于 2020-4-22 17:47
"1"是第一次运行“XD4”代码的结果
"2"是第一次运行“XDTB_TEXTSETULINE”代码的结果
"3"是第二次 ...

你代码里面的WID没定义



改成下面

  1. (defun c:XD4 (/ dbl xdir ydir p1 p2 p3 p4 p5 p6 dist ss wid pl)
  2.   (if (setq wid (getreal "\n下划线宽<退出>:"))
  3.     (progn
  4.       (while (and (xdrx_initssget "\n选择要加下划线的文字<退出>:")
  5.                   (setq ss (xdrx_ssget '((0 . "*text"))))
  6.                   (setq dbl 1)                ;(xdrx_initget "Y N")
  7.                                         ;(setq dbl (xdrx_yesorno "\n是否是双线" 1))
  8.                                         ;(setq att (xdrx_yesorno "\n是否转属性" 1))
  9.                                         ;(xdrx_initget)
  10.              )
  11.         (setq #ext 0.05
  12.               xdir (cadr (xdrx_entity_getecs (ssname ss 0)))
  13.               ydir (xdrx_vector_perpvector xdir)
  14.               box  (xdrx_entity_box ss xdir)
  15.               box  (xd::pnts:ucs2wcs box)
  16.               base (xd::geom:get9pt box 5)
  17.               p1   (car box)
  18.               p2   (cadr box)
  19.               dist (distance p1 p2)
  20.               p1   (mapcar '+ p1 (xdrx_vector_product xdir (- (* #ext dist))))
  21.               p2   (mapcar '+ p2 (xdrx_vector_product xdir (* #ext dist)))
  22.               h           (distance (car box) (last box))
  23.               p3   (mapcar '+ p1 (xdrx_vector_product ydir (- (* 0.333 h))))
  24.               p4   (mapcar '+ p2 (xdrx_vector_product ydir (- (* 0.333 h))))
  25.               p5   (mapcar '+ p3 (xdrx_vector_product ydir (- 120)))
  26.               p6   (mapcar '+ p4 (xdrx_vector_product ydir (- 120)))
  27.         )
  28.         (setq pl (xdrx_polyline_make p3 p4))
  29.         (ssadd pl ss)
  30.         (xdrx_setpropertyvalue pl "constantwidth" (* 90 wid))
  31.         (if (= dbl 1)
  32.           (progn (setq pl (xdrx_polyline_make p5 p6)) (ssadd pl ss))
  33.         )
  34.         (xdrx_block_make
  35.           (strcat "xd_text_xiahua_" (xdrx_string_rand 6))
  36.           ss
  37.           base
  38.           t
  39.         )
  40.         (xd::block:txt2att (entlast))
  41.       )
  42.     )
  43.   )
  44.   (princ)
  45. )




论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

发表于 2020-4-24 15:27:26 | 显示全部楼层
高!实在高!佩服佩服
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 22:44:46 | 显示全部楼层
Lisphk 发表于 2020-4-22 18:08
你代码里面的WID没定义

非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2020-4-24 23:10:50 | 显示全部楼层

解决了,就编辑下主题帖,前面粘贴上【已解决】吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 23:13:48 | 显示全部楼层
Lisphk 发表于 2020-4-24 23:10
解决了,就编辑下主题帖,前面粘贴上【已解决】吧

好的,谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-19 18:24 , Processed in 0.194039 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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