明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1457|回复: 13

[讨论] 各位老师看看。

[复制链接]
发表于 2015-6-2 17:05:15 | 显示全部楼层 |阅读模式
  由于工作的原因,需要在每个画好的闭合区域内有温室字样,如果一个一个复制粘贴的话,速度跟不上来。求方法。
发表于 2015-6-2 17:21:11 | 显示全部楼层
  1. (defun c:tt ()
  2. (setvar "cmdecho" 0)
  3.   (setq ss (ssget":s" '((0 . "LWPOLYLINE"))))
  4.                 (repeat (setq i (sslength ss))
  5.                                 (setq e (ssname ss (setq i (1- i)))
  6.                                                 box (ebox e)
  7.                                                 P1 (car Box)
  8.                                                 P2 (cadr Box)
  9.                                                 P3 (mid p1 p2)
  10.                                 )
  11.                                 (vl-cmdf "-text" "j" "M" p3 5 0 "温室")
  12.                         )
  13.   (setvar "cmdecho" 1)
  14.   (PRINC)
  15. )
发表于 2015-6-2 17:22:17 | 显示全部楼层
本帖最后由 ymcui 于 2015-6-2 17:24 编辑
  1. (defun ebox (e / pa pb)
  2.                 (Vlax-Invoke-Method (Vlax-Ename->Vla-Object e ) 'GetBoundingBox 'pa 'pb )
  3.                         (setq pa (trans (vlax-safearray->list pa) 0 1)
  4.                                 pb (trans (vlax-safearray->list pb) 0 1)
  5.                         )
  6.                         (list pa pb)
  7. )
这个是在网上找的.记不起是在那里找的了.
发表于 2015-6-2 17:27:31 | 显示全部楼层
再上个图               

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2015-6-2 17:32:29 | 显示全部楼层
谢谢大神。我运行一下。
 楼主| 发表于 2015-6-2 17:33:29 | 显示全部楼层
ymcui 发表于 2015-6-2 17:27
再上个图

大神,这个是带属性的么(跟随图层的)?
 楼主| 发表于 2015-6-2 17:37:19 | 显示全部楼层
ymcui 发表于 2015-6-2 17:21

老师,参数类型错误: lselsetp nil。
发表于 2015-6-3 08:09:41 | 显示全部楼层
  1. (defun mid (p1 p2) (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p1 p2)))
 楼主| 发表于 2015-6-3 12:14:17 | 显示全部楼层
ymcui 发表于 2015-6-3 08:09

老师,给个完整的,谢谢老师。
发表于 2015-6-3 13:49:09 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "cmdecho" 0)
  3.   (defun ebox (e / pa pb)
  4.         (Vlax-Invoke-Method (Vlax-Ename->Vla-Object e ) 'GetBoundingBox 'pa 'pb )
  5.         (setq pa (trans (vlax-safearray->list pa) 0 1)
  6.                   pb (trans (vlax-safearray->list pb) 0 1)
  7.         )
  8.         (list pa pb)
  9.   )
  10.   (setq ss (ssget":s" '((0 . "LWPOLYLINE"))))
  11.   (repeat (setq i (sslength ss))
  12.         (setq e (ssname ss (setq i (1- i)))
  13.                   box (ebox e)
  14.                   P3 (mapcar '* '(0.5 0.5 0.5)(mapcar '+ (car Box) (cadr Box)))
  15.         )
  16.         (vl-cmdf "-text" "j" "M" p3 5 0 "温室")
  17.   )
  18.   (setvar "cmdecho" 1)
  19.   (PRINC)
  20. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 23:26 , Processed in 0.191008 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表