xxyyzzlg 发表于 2024-7-24 13:34:14

打造适合自己的快速建块功能

本帖最后由 xxyyzzlg 于 2024-7-25 07:57 编辑

   常用插件燕秀,贱人,源泉等都有快速建块的功能。不知道具体什么原因,我在用的时候都会改变遮罩的顺序,只能进块调整顺序,实在太麻烦。于是决定自己搞个小程序。感谢Z版等各位大佬分享的源码,使这一想法得以实现。
    结合我自己的使用习惯搞了如下几个版本,支持图块对象(包括匿名块):
1)改0层,图元信息不改。
2)改0层,颜色线型Byblock。
3)改0层,图层线型为中心线或图元线型为中心线,改红色中心线,否则颜色线型都改随块。
4)改0层,图层线型为中心线或图元线型为中心线,改红色中心线,否则颜色改随块,线型改Divide。
   有需要的朋友可以下载
   本人初学lsp,程序可能存在或多或少的问题,请不吝赐教。
比如:未加入线宽随块功能, 因为我也没搞清这个语句为啥不起作用。 (vla-put-Lineweight ob acLnWtByBlock)


07.25,如需要改变线宽,可以相应位置增加两行代码

            (vla-put-Lineweight ob X)
            (vla-Update ob)

其中X,可以是如下值

[*]acLnWtByLayer
[*]acLnWtByBlock
[*]acLnWtByLwDefault
[*]acLnWt000
[*]acLnWt005
[*]acLnWt009
[*]acLnWt013
[*]acLnWt015
[*]acLnWt018
[*]acLnWt020 ......

xxyyzzlg 发表于 2024-7-24 15:54:56

本帖最后由 xxyyzzlg 于 2024-7-24 15:56 编辑

你有种再说一遍 发表于 2024-7-24 15:13
改变次序是因为:
加入块表记录的时候是无序才导致这种事情,
在lisp你可能需要改动绘图次序实现...

这个遮罩顺序改变问题,不是插件和软件本身的锅。
可能我不小心动了哪个变量。
我试了下,用block命令成块会造成这个问题,用粘贴成块就没问题,所以我的代码用的 "._PASTEBLOCK"成块。

你有种再说一遍 发表于 2024-7-24 15:13:53

改变次序是因为:
加入块表记录的时候是无序才导致这种事情,
在lisp你可能需要改动绘图次序实现...
在c#是:基变换,加入块表记录,插入基,逆基变换,
在第二步实现,不需要改变绘图次序,只需要加入序

Bao_lai 发表于 2024-7-26 06:39:27

你有种再说一遍 发表于 2024-7-24 15:13
改变次序是因为:
加入块表记录的时候是无序才导致这种事情,
在lisp你可能需要改动绘图次序实现...


惊佬,怎么获得对应的这个序?

shirker 发表于 2024-7-24 15:24:12

学习了一下

hubeiwdlue 发表于 2024-7-24 15:41:45

谢谢分享,学习一下。

你有种再说一遍 发表于 2024-7-24 16:03:27

xxyyzzlg 发表于 2024-7-24 15:54
这个遮罩顺序改变问题,不是插件和软件本身的锅。
可能我不小心动了哪个变量。
我试了下,用block命令 ...

这两命令的策略就不一样...

xxyyzzlg 发表于 2024-7-24 16:17:38

莫名其妙就这样了:D-

gble119 发表于 2024-7-24 21:40:47

过来学习来了

你有种再说一遍 发表于 2024-7-26 13:01:21

Bao_lai 发表于 2024-7-26 06:39
惊佬,怎么获得对应的这个序?

直接搜绘图次序
页: [1] 2
查看完整版本: 打造适合自己的快速建块功能