乐筑天下

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

[编程交流] Can someone help? I don't

[复制链接]

10

主题

41

帖子

33

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 15:51:16 | 显示全部楼层 |阅读模式
I need a lisp that goes through a drawing and automatically converts all 3D Faces to polylines. I need the polylines to remain on the same layers as the 3D Faces.  I have tried this one "3DF2L.lsp" and it causes more work than it saves.
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:08:27 | 显示全部楼层
Here's a quick one:
  1. (defun c:foo (/ o s sp) (if (and (setq s (ssget ":L" '((0 . "3DFACE"))))   (setq sp (vlax-get (vla-get-activedocument (vlax-get-acad-object))                      (if (= 1 (getvar 'cvport))                        'paperspace                        'modelspace                      )            )   )     )   (foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))     (if (setq o (vlax-invoke sp 'add3dpoly (vlax-get (vlax-ename->vla-object x) 'coordinates)))(progn (entdel x) (vlax-put o 'closed -1))     )   ) ) (princ))(vl-load-com)
回复

使用道具 举报

10

主题

41

帖子

33

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 16:18:13 | 显示全部楼层
Thanks. That works.
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:21:31 | 显示全部楼层
Not sure but I think that David Bethel posted something like this in the past.
BTW nice coding Ron!
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:39:51 | 显示全部楼层
Glad to help
@Grrr .. Thanks!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:48:45 | 显示全部楼层
ronjonp I like the idea of passing the co-ords I would have used a list and stepped through them much simpler no need for a seperate co-ord routine.
 
Saved it to my library just called it something I would find. Added your name as a header
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 16:56:59 | 显示全部楼层
I have probably written this over the years.
 
But with a clean start :
 
  1. [b][color=BLACK]([/color][/b]defun c:3df23dpl [b][color=FUCHSIA]([/color][/b]/ ss i en ed[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]setq ss [b][color=MAROON]([/color][/b]ssget [color=#2f4f4f]"X"[/color] [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"3DFACE"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]      [b][color=NAVY]([/color][/b]setq i 0[b][color=NAVY])[/color][/b]      [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSearching...\n"[/color][b][color=NAVY])[/color][/b]      [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\t\t\r"[/color][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]prin1 en[b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]setq ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]entmake [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"POLYLINE"[/color][b][color=BLUE])[/color][/b]                            [b][color=BLUE]([/color][/b]assoc 8 ed[b][color=BLUE])[/color][/b]                            [b][color=BLUE]([/color][/b]cons 66 1[b][color=BLUE])[/color][/b]                            [b][color=BLUE]([/color][/b]cons 70 9[b][color=BLUE])[/color][/b]                            [b][color=BLUE]([/color][/b]list 10 0 0 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]foreach g '[b][color=GREEN]([/color][/b]10 11 12 13[b][color=GREEN])[/color][/b]                 [b][color=GREEN]([/color][/b]entmake [b][color=BLUE]([/color][/b]list [b][color=RED]([/color][/b]cons 0 [color=#2f4f4f]"VERTEX"[/color][b][color=RED])[/color][/b]                                [b][color=RED]([/color][/b]assoc 8 ed[b][color=RED])[/color][/b]                                [b][color=RED]([/color][/b]cons 10 [b][color=PURPLE]([/color][/b]cdr [b][color=TEAL]([/color][/b]assoc g ed[b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b]                                [b][color=RED]([/color][/b]cons 70 32[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]entmake [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"SEQEND"[/color][b][color=BLUE])[/color][/b]                            [b][color=BLUE]([/color][/b]assoc 8 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]entdel en[b][color=MAROON])[/color][/b]             [b][color=MAROON]([/color][/b]setq i [b][color=GREEN]([/color][/b]1+ i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]redraw[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
 
This could tweaked for color.  No linetypes or thicknesses allowed.
 
 
-David
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 21:04 , Processed in 0.400837 second(s), 66 queries .

© 2020-2025 乐筑天下

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