shailujp 发表于 2022-7-5 23:49:11

强制打开箭头为实心

大家好,
 
我需要帮助修理箭头。
 
某些图形附带箭头的默认设置为“打开”。当我运行实用程序(将带有自定义文本的引线作为块插入)时,它会将箭头插入为打开状态。我的要求是始终添加实心箭头。我试图通过下面的代码强制它,但它不是强制的。有人能建议吗?
 
可能有什么问题?
 

(defun Addleader (/ pt1)

(setvar "DIMLDRBLK" ".")
         (while
            (setq pt1 (getpoint "\nInserting task description note, Specify Arrow End Point or hit Enter to close:"))
   (Command "_INSERT" "CP TEXT" pt1 "" "" "")
       (command "explode" "l")
          );end while
) ;end defun

 
编辑:我认为它必须与默认的DIMSTYLE有关。我试着把它插入标准的dim样式中。不知道该如何处理。

Tharwat 发表于 2022-7-5 23:53:03

DIMLDRBLK适用于新创建的引线,并且您已将引线作为块插入,因此逻辑上无法更改。

shailujp 发表于 2022-7-5 23:57:22

我想我同意这一点,但有没有办法写DIMLDRBLK。(dot)通过lisp强制将其作为默认值,而不是打开。我当前的代码是这样写的吗?此外,当我更改设置时,标准样式将更改为标准(替代)。我试图插入的块在标准上有一个引线。这就是我认为它不起作用的地方。你同意吗?
 
或者我应该将块图形上的引线更改为标准(替代)以匹配样式吗?
 
此外,如何通过lisp编写“”以通过lisp将DIMLDRBLK it更改为实体?像这样“”?

Tharwat 发表于 2022-7-6 00:01:14

您可以阅读关于函数vla put ArrowheadBlock的内容,然后将值设置为null string(与ClosedSolidArrowHeads的情况相同)

Tharwat 发表于 2022-7-6 00:04:34

为什么不更改块中引线的属性,然后即使在分解后也可以使用所需的设置设置引线。

shailujp 发表于 2022-7-6 00:10:23

我认为这个想法可行。我只需要在几张图纸上测试一下,看看它是否100%有效。我会随时通知你的。
 
非常感谢。

Tharwat 发表于 2022-7-6 00:15:16

 
我很想知道结果

shailujp 发表于 2022-7-6 00:16:13

塔尔瓦特,
 
以下是根据您的建议,它最终是如何工作的。由于我要插入一个块(我强制它成为原始块图形上的实心引线),我必须添加一个清除命令来清除现有块(插入后立即分解,因此可以安全/允许清除)。当时我正在尝试现有的图纸,我意识到为什么它不能在所有图纸上工作。但是净化对我来说起了作用。
 

(if (tblsearch "BLOCK" "CP TEXT")
    (command "_purge" "B" "CP TEXT" "N")
)

 
谢谢你的帮助。

Tharwat 发表于 2022-7-6 00:22:34

很高兴知道你已经按需要工作了。
 
祝你好运。

shailujp 发表于 2022-7-6 00:23:15

最后一个障碍,
 
如何找到位于特定图层上的所有现有引线,并将其更改为实心箭头?
 
这是一个修复,我可能不得不在所有现有的图纸上运行到目前为止。
页: [1] 2
查看完整版本: 强制打开箭头为实心