乐筑天下

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

[编程交流] 将Backgroundmask添加到Rotat

[复制链接]

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 18:43:47 | 显示全部楼层 |阅读模式
大家好,
 
我的第一个Lisp是从用作按钮的宏编写的。
 
  1. (defun c:SWD () (command "-LAYER" "M" "P_SW_DIA" "C" "2" "" "S" "P_SW_DIA" "" "-MTEXT" Pause "R" Pause "J" "BC" "H" "3.5" Pause "%%C???" "")(princ))

 
当我尝试将背景遮罩添加到最后创建的对象(请参见下文)时,它不起作用
 
  1. (defun c:SWD () (command "-LAYER" "M" "P_SW_DIA" "C" "2" "" "S" "P_SW_DIA" "" "-MTEXT" Pause "R" Pause "J" "BC" "H" "3.5" Pause "%%C???" "" "BACKGROUNDMASK" "L")(princ))

 
知道为什么吗?
 
干杯,祝你愉快
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 18:51:05 | 显示全部楼层
您知道可以使用常规OOTB功能屏蔽多行文字吗?
 
没有按钮那么快,只是想知道你是否知道这是一个选项。
还有ExpressTool命令Textmask。
194349u0adm2max6cxda7v.jpg
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 18:59:09 | 显示全部楼层
请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 19:04:11 | 显示全部楼层
这是一个lisp,它将为多行文字添加背景掩码
 
边界为1.1
颜色设置为背景
 
如果您希望使用不同的颜色,请更改:
(90.3)到(90.1)&256到你想要的任何颜色。
 
  1. (defun c:mtm ( / js n dxf_ent)
  2. (setq js (ssget '((0 . "MTEXT"))))
  3. (cond
  4.         (js
  5.                 (repeat (setq n (sslength js))
  6.                         (setq dxf_ent (entget (ssname js (setq n (1- n)))))
  7.                         (entmod (append dxf_ent '((90 . 3) (63 . 256) (45 . 1.1) (441 . 0))))
  8.                 )
  9.         )
  10. )
  11. )
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 19:15:22 | 显示全部楼层
大家好,
 
我的坏SLW210我将使用从知道的代码标签。
 
  1. (defun c:SWD () (command "-LAYER" "M" "P_SW_DIA" "C" "2" "" "S" "P_SW_DIA" "" "-MTEXT" Pause "R" Pause "J" "BC" "H" "3.5" Pause "%%C???" "")(princ))

 
当我尝试将背景遮罩添加到最后创建的对象(请参见下文)时,它不起作用
 
  1. (defun c:SWD () (command "-LAYER" "M" "P_SW_DIA" "C" "2" "" "S" "P_SW_DIA" "" "-MTEXT" Pause "R" Pause "J" "BC" "H" "3.5" Pause "%%C???" "" "BACKGROUNDMASK" "L")(princ))

 
Dadgad我知道express工具,但我想使用背景遮罩而不是擦除。
 
Jonathann我有一个类似的Lisp程序,我在论坛上发现,我用背景面具,我已经连接到一个按钮。我只是希望它是一个一步的过程,而不必在创建文本后添加背景掩码。
 
谢谢大家的帮助,
 
祝您今天过得愉快。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 19:20:41 | 显示全部楼层
我使用类似Jonathann3891的lisp,使用偏移因子为1.15的绘图颜色切换背景遮罩
正如Dadgad所指出的那样,这也是一个简单的修改,但不能在多行文字命令内的命令行上执行。您可以向原始宏中添加代码。这会给你你需要的结果。类似于:
  1. (defun c:SWD ( / obj) (command "-LAYER" "M" "P_SW_DIA" "C" "2" "" "S" "P_SW_DIA" "" "-MTEXT" Pause "R" Pause "J" "BC" "H" "3.5" Pause "%%C???" "")(setq obj (vlax-ename->vla-object ([b][color="red"]entlast[/color][/b])))(vlax-put-property obj 'BackgroundFill :vlax-true)(princ))

 
对不起,以前没有测试过该代码,现在可以在我的电脑上运行。放置黄色Ø???带背景遮罩。
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 19:30:03 | 显示全部楼层
嗨,Tombu,
 
谢谢你,我试着运行上面的代码,我得到了文本,但没有文本掩码。
 
'多行文字:%%C???
多行文字:
命令:;错误:错误的参数类型:lselsetp nil'
 
谢谢你的帮助,干杯
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 19:31:47 | 显示全部楼层
很抱歉,以前没有测试过该代码,现在可以在我的电脑上运行。修复了前一篇文章中的代码。
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 19:41:38 | 显示全部楼层
谢谢你,Tombu做得很好。祝大家度过愉快的一天,谢谢大家的帮助。干杯
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 19:47:08 | 显示全部楼层
 
很高兴我能帮忙。不知道你要用它做什么,但由于它是一个lisp,你可以使用getstring(任何一个可以选择多达132个字符的句子的单词)或getkword,从一个预设列表中,你可以选择一个字符作为文本。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:23 , Processed in 0.436101 second(s), 74 queries .

© 2020-2025 乐筑天下

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