乐筑天下

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

[编程交流] 两个问题

[复制链接]

12

主题

26

帖子

15

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 10:30:17 | 显示全部楼层 |阅读模式
您好,我想知道您是否可以自动回答以下两个问题。。。
 
如何获得按样式区分的线条或图层的总长度。
使用acadiso。林我创造了各种风格的线,其想法是要知道的总长度,每个自定义线现有的图纸。
 
如何自动知道图形中的块数。如果我删除或复制一个区块,我会自动知道金额吗?
如果无法自动执行此操作,是否有任何方法可以找到?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:36:54 | 显示全部楼层
回复:区块计数。您看过Express Tools中的BCOUNT命令吗?
 
B计数
统计、逐项列出并以表格形式显示选定对象或整个图形中每个块的插入次数。
 
顺便说一句,这是没有必要的,也不建议论坛成员的双重职位。这只会让事情变得混乱。谢谢
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:46:11 | 显示全部楼层
第一个问题你可以试试
 
http://www.cadtutor.net/forum/showthread.php?42734-线路长度计算器
 
第二,BCOUNT命令还没有这样做吗?它给出了图形中该块的名称和数量以及图形中所有块的总数
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:49:00 | 显示全部楼层
对于线路长度,我会尝试以下方法:
 
  1. [b][color=BLACK]([/color][/b]defun c:llen [b][color=FUCHSIA]([/color][/b]/ lay lin i dt ss en ed di dt[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not lay[b][color=MAROON])[/color][/b]
  3.             [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]or [b][color=BLUE]([/color][/b]wcmatch lay [color=#2f4f4f]"*`**"[/color][b][color=BLUE])[/color][/b]
  4.                      [b][color=BLUE]([/color][/b]wcmatch lay [color=#2f4f4f]"*`,*"[/color][b][color=BLUE])[/color][/b]
  5.                      [b][color=BLUE]([/color][/b]tblsearch [color=#2f4f4f]"LAYER"[/color] lay[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  6.         [b][color=NAVY]([/color][/b]setq lay [b][color=MAROON]([/color][/b]strcase [b][color=GREEN]([/color][/b]getstring [color=#2f4f4f]"\nLAyer To Calulate:   "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not lin[b][color=MAROON])[/color][/b]
  8.             [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]or [b][color=BLUE]([/color][/b]wcmatch lin [color=#2f4f4f]"*`**"[/color][b][color=BLUE])[/color][/b]
  9.                      [b][color=BLUE]([/color][/b]wcmatch lin [color=#2f4f4f]"*`,*"[/color][b][color=BLUE])[/color][/b]
  10.                      [b][color=BLUE]([/color][/b]tblsearch [color=#2f4f4f]"LTYPE"[/color] lin[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  11.         [b][color=NAVY]([/color][/b]setq lin [b][color=MAROON]([/color][/b]strcase [b][color=GREEN]([/color][/b]getstring [color=#2f4f4f]"\nLType To Calulate:   "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  12.   [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]setq i -1
  13.             dt 0
  14.             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]"LINE"[/color][b][color=BLUE])[/color][/b]
  15.                                 [b][color=BLUE]([/color][/b]cons 6 lin[b][color=BLUE])[/color][/b]
  16.                                 [b][color=BLUE]([/color][/b]cons 8 lay[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  17.        [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss [b][color=BLUE]([/color][/b]setq i [b][color=RED]([/color][/b]1+ i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  18.               [b][color=MAROON]([/color][/b]setq ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b]
  19.                     di [b][color=GREEN]([/color][/b]distance [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 10 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
  20.                                  [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 11 ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  21.                     dt [b][color=GREEN]([/color][/b]+ di dt[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  22.        [b][color=NAVY]([/color][/b]princ [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"\nTotal Length Of LINEs on LAyer "[/color] lay
  23.                       [color=#2f4f4f]" With LType "[/color] lin [color=#2f4f4f]" = "[/color] [b][color=GREEN]([/color][/b]rtos dt 2 4[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  24.   [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]zerop dt[b][color=NAVY])[/color][/b]
  25.       [b][color=NAVY]([/color][/b]alert [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"No Entities Match The Criteria\n"[/color]
  26.                       [color=#2f4f4f]"LAyer "[/color] lay [color=#2f4f4f]" - "[/color] [color=#2f4f4f]"LTYPE "[/color] lin[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  27.   [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
-大卫
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:54:14 | 显示全部楼层
好啊现在我们有两个线程,其中一个问题是完全相同的,这是我们在这里试图避免的。
 
米格斯:我建议OP在另一个帖子中引用BCOUNT。
回复

使用道具 举报

12

主题

26

帖子

15

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 11:00:22 | 显示全部楼层
好的,对不起。
我知道Bcount命令,但我的问题是,是否可以使用表、Reactor等自动计算块数。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:05:28 | 显示全部楼层
这是我用来数数图画中的方块的,我刚刚为你做的。
 
  1. (defun c:THblk (/ ss ents)
  2. ;Tharwat 09.Septmber.2010  
  3. (if
  4. (and
  5.    (setq ss
  6.        (ssget "_x" '((0 . "INSERT"))
  7.         ))
  8.            (setq ents (sslength ss)))                
  9. (if
  10.     (cond (
  11.      (= ents 1)
  12.         (alert (strcat " You have only" " " (itoa ents) " " " Block ...")
  13.                )
  14.     )
  15.             (
  16.              (> ents 1)
  17.              (alert (strcat " You have" " " (itoa ents) " " " Blocks ..."))
  18.              )
  19.    )
  20.    (princ)
  21.    )       
  22.    (alert " *** NO BLOCKS FOUND *** ")
  23. )
  24. (princ)
  25. )

 
当做
 
塔瓦特
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 11:12:49 | 显示全部楼层
备注:我从未注意到你关于BCOUNT命令的其他帖子,否则我会把他推荐到那里
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 11:16:10 | 显示全部楼层
看起来这将成为事实上的主要帖子,所以我想我的论点是沉默的。我道歉。
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 11:23:33 | 显示全部楼层
我把这两条线合并成了这一条。
Titoprax,请只发布一次问题。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 17:53 , Processed in 0.550417 second(s), 83 queries .

© 2020-2025 乐筑天下

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