乐筑天下

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

[编程交流] Lisp更改al的颜色

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:40:28 | 显示全部楼层 |阅读模式
你好
我发现这个vba代码,当我可以使用vba时,它工作得很好。但在办公室中,vba受到限制,因此我想在lisp中使用它:
  1. [font=Courier New][size=2]Sub EsWerdeDunkel()
  2.    Dim Entity As AcadEntity, Blockdef As AcadBlock, Blockref As AcadBlockReference
  3.    For Each Entity In ThisDrawing.ModelSpace:  Entity.Color = 254: Next Entity
  4.    
  5.    For Each Blockdef In ThisDrawing.Blocks
  6.        If Blockdef.IsLayout = False Then For Each Entity In Blockdef: Entity.Color = 254: Next Entity
  7.    Next Blockdef
  8. End Sub[/size][/font]

 
也许有一种方法可以通过颜色提示框选择颜色。。。
 
希望你能理解我的英语。。。
我不知道如何编写lisp代码。
 
(我在office中使用Bricscad 14,64位…但lisp的工作原理与Autocad中相同)
 
谢谢4帮助
拉菲
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:55:40 | 显示全部楼层
作为代码的快速翻译:
  1. (defun c:test ( / col doc foo )
  2.    (if (setq col (acad_colordlg 1))
  3.        (progn
  4.            (setq foo (lambda ( obj ) (if (vlax-write-enabled-p obj) (vla-put-color obj col)))
  5.                  doc (vla-get-activedocument (vlax-get-acad-object))
  6.            )
  7.            (vlax-map-collection (vla-get-modelspace doc) 'foo)
  8.            (vlax-map-collection (vla-get-blocks doc)
  9.               '(lambda ( blk )
  10.                    (if (and (= :vlax-false (vla-get-islayout blk))
  11.                             (= :vlax-false (vla-get-isxref   blk))
  12.                        )
  13.                        (vlax-map-collection blk 'foo)
  14.                    )
  15.                )
  16.            )
  17.        )
  18.    )
  19.    (princ)
  20. )
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:10:31 | 显示全部楼层
嗨,李,麦克
 
不工作。。。出现错误:
  1. Loading D:\_Witzig\_Admin\CAD\LISP\Farbe.lsp
  2. : (LOAD "D:/_Witzig/_Admin/CAD/LISP/Farbe.lsp")C:TEST
  3. : TEST
  4. ; ----- LISP : Call Stack -----
  5. ; [0]...C:TEST <<--
  6. ;
  7. ; ----- Error around expression -----
  8. 'FOO
  9. ;
  10. ; error : no function definition <FOO> ; expected FUNCTION at [sYMBOL-FUNCTION]

“福”是个错误!
 
现在它工作了。。。!非常感谢!
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:15:59 | 显示全部楼层
 
这似乎是BricsCAD中vlax地图集合实现的一个错误-我发布的代码在AutoCAD中表现良好。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:23:43 | 显示全部楼层
 
嗨,李。这与VVA的ColorX有什么不同吗?http://www.cadtutor.net/forum/showthread.php?533-所有层和块的Lisp颜色更改&p=221559&viewfull=1#POST22159
 
它似乎比ColorX更快地更改了我的所有块和嵌套块(除了引线仍保留灰色)
 
谢谢
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-5 19:39:28 | 显示全部楼层
 
有人知道吗?
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-5 19:43:22 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:33 , Processed in 1.082839 second(s), 66 queries .

© 2020-2025 乐筑天下

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