乐筑天下

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

[综合讨论] 需要宏。。视中心

[复制链接]

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-7 00:47:51 | 显示全部楼层
我记得在Bricscad中,矩形、三角形和其他闭合的规则多段线的中心有一个捕捉点。它就像是圆的中心。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-7 00:52:12 | 显示全部楼层
 
如果你只是停留在这个线程中,我会更容易理解,如果你喜欢的话,我可以重新定位并重新定位线程。
回复

使用道具 举报

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-7 00:56:23 | 显示全部楼层
谢谢你,那太好了。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-7 00:58:58 | 显示全部楼层
 
欢迎来到CADTutor,新手!
 
这是一个口齿不清的免费软件:
 
  1. (defun c:TPC () (c:Text2PlineCentroid))
  2. (defun c:Text2PlineCentroid (/ *error* ssText flag eName oText ssPline oPline centroid oName)
  3. (princ "TEXT 2 POLYLINE CENTROID ")
  4. (vl-load-com)
  5. (defun *error*  (msg)
  6.    (and flag (not (redraw eName 4)))
  7.    (cond ((not msg))                                                   ; Normal exit
  8.          ((member msg '("Function cancelled" "quit / exit abort")))    ; <esc> or (quit)
  9.          ((princ (strcat "\n** Error: " msg " ** "))))                 ; Fatal error, display it
  10.    (princ))
  11. (if (and (setq ssText (ssget ":S:E" '((0 . "MTEXT,TEXT"))))
  12.           (and (setq flag T)
  13.                (not (redraw (setq eName (ssname ssText 0)) 3)))
  14.           (setq oText (vlax-ename->vla-object eName))
  15.           (setq ssPline (ssget ":S:E" '((0 . "*POLYLINE"))))
  16.           (setq oPline (vlax-ename->vla-object (ssname ssPline 0))))
  17.    (progn
  18.      (vla-getboundingbox oPline 'mn 'mx)
  19.      (setq centroid
  20.             (vlax-3d-point
  21.               (mapcar '*
  22.                       (mapcar '+
  23.                               (vlax-safearray->list mn)
  24.                               (vlax-safearray->list mx))
  25.                       '(0.5 0.5 0.5))))
  26.      (vla-move
  27.        oText
  28.        (cond
  29.          ((= "AcDbMText" (setq oName (vla-get-objectname oText)))
  30.           (vla-get-insertionpoint oText))
  31.          ((= "AcDbText" oName)
  32.           (vla-get-textalignmentpoint oText)))
  33.        centroid))
  34.    (cond
  35.      (ssText (prompt "\n** Nothing selected ** "))
  36.      ((prompt "\n** Nothing selected, or text layer is locked ** "))))
  37. (princ))

 
干杯
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-7 01:01:25 | 显示全部楼层
去theswamp搜索Gile的额外osnaps计划。质心捕捉非常有用。
 
回复

使用道具 举报

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-7 01:06:05 | 显示全部楼层
谢谢Renderman,虽然它看起来像我熟悉的Excel VBA,但到目前为止,我只听说过Lisp,甚至不知道这段代码是什么或如何编写。这就是为什么我在想一个按钮,或者这是在写一个按钮宏的那一行吗?
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-7 01:07:17 | 显示全部楼层
 
令人惊叹的
 

                               
登录/注册后可看大图

 
呵呵呵呵呵呵
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-7 01:11:49 | 显示全部楼层
http://www.cadtutor.net/forum/showthread.php?1390-如何在此存档中使用LISP例程
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-7 01:14:28 | 显示全部楼层
 
*咳嗽*我会看看艾伦的建议*咳嗽*
 
要执行我从工具栏按钮宏发布的代码:
 
将我发布的代码保存到一个文件(“Text2Centroid.LSP”)到位于支持文件搜索路径中的位置。
 
示例宏(来自内存):
 
  1. ^C^C(if (not c:TPC) (load "Text2Centroid.lsp"));TPC;
回复

使用道具 举报

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-7 01:18:33 | 显示全部楼层
alanjt,谢谢你。我能够加载lisp。
Renderman,我能够创建我想要的按钮,所以我真的不需要lisp。我试过口齿不清,但我想我需要一步一步的说明如何使它工作。我可以选择文字并查看多段线的捕捉点,但当我单击第一个点进行选择时,文字会立即转到那里,而没有机会选择第二个点。如果我想更多地了解lisp以及它们是如何工作的,那么了解它为什么不工作会很有帮助。你是否继续的选择。
 
非常感谢所有提供帮助的人。很棒的论坛!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 08:59 , Processed in 0.363695 second(s), 70 queries .

© 2020-2025 乐筑天下

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