乐筑天下

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

[编程交流] 如何使用blo缩放到块

[复制链接]

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:05:07 | 显示全部楼层 |阅读模式
需要以某种方式精确定位dwg模型空间中的块。
我需要找到的块在模型空间中是单独的,但一些也包含在其他块中。我需要遍历所有块及其嵌套项,以找到具有相同名称的块的所有实例。
 
把它们一个一个地放大就好了。
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:30:03 | 显示全部楼层
我是个白痴。。。。
 
BEDIT,在问题块中画大标记保存编辑并查看绘图。。。
 
如果图形中没有块,请使用superpurge或其他方法将其删除。。。
 
补遗
添加标记时,请小心使用了可见性功能的动态块,使其在所有状态下都可见。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:36:28 | 显示全部楼层
您可以使用ssget一个唯一的块名,然后缩放到每个块。这是一个非常简单的代码,我会选择1个块来获得名称。如果您想再次发布示例代码。
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:57:29 | 显示全部楼层
当然,我喜欢这个例子。
我不擅长编程。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:08:53 | 显示全部楼层
试试这个。。。
 
  1. (defun c:Test (/ *error* name ss i obj lft rgt)
  2. (vl-load-com)
  3. ;;; Tharwat 13. jan. 2013 ;;;
  4. (defun *error* (x) (princ "\n *Cancel*"))
  5. (if (and (/= (setq name (getstring t "\n Specify Block name :")) "")
  6.           (/= name nil)
  7.           (setq ss (ssget "_x" (list '(0 . "INSERT") (cons 410 (getvar 'ctab)) (cons 2 name))))
  8.      )
  9.    (progn (repeat (setq i (sslength ss))
  10.             (setq obj (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
  11.             (vla-getboundingbox obj 'l 'r)
  12.             (setq mid (mapcar (function (lambda (q p) (/ (+ q p) 2.)))
  13.                               (setq lft (vlax-safearray->list l))
  14.                               (setq rgt (vlax-safearray->list r))
  15.                       )
  16.             )
  17.             (vla-ZoomCenter
  18.               (vlax-get-acad-object)
  19.               (vlax-3d-point mid)
  20.               (distance lft (list (car rgt) (cadr lft)))
  21.             )
  22.             (if (eq "" (getstring "\n Press enter to continue or space bar:"))
  23.               (princ)
  24.             )
  25.           )
  26.           (alert "*** DONE ***")
  27.    )
  28.    (princ)
  29. )
  30. (princ)
  31. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:08 , Processed in 0.348360 second(s), 62 queries .

© 2020-2025 乐筑天下

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