明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2072|回复: 9

[急求]自动识别两个半圆及自动缩放

[复制链接]
发表于 2013-3-24 19:08 | 显示全部楼层 |阅读模式
2明经币


如上图,我现在有大量的这种东西要进行缩放,但不是块,圆也是两个半圆拼起来的。
我的要求是:
1、能够批量进行;
2、能够识别两个半圆拼起来的这个圆,并对这个圆以及其内部的内容进行缩放,缩放基点是这个原因的圆心;
3、要求对每个这样的元素分别缩放;
4、缩放系数先定为2,如果你能提供lsp文件的画我自己来改也行。
急用急用。大神们出手帮帮忙。

附件: 您需要 登录 才可以下载或查看,没有账号?注册
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-3-24 19:50 | 显示全部楼层
看这样子好像是打散的圆环(dount),急用就请到我的网络U盘去下载一个CDN.lsp试试,不保证成功,但可以一试,在家里,手上东西不全,程序就不写了。

操作步骤:
先用PEdit的M模式把这些半圆连接成整的多义线(Pe-y-j-c),然后使用cdn.lsp。
回复

使用道具 举报

 楼主| 发表于 2013-3-24 21:02 | 显示全部楼层
ll_j 发表于 2013-3-24 19:50
看这样子好像是打散的圆环(dount),急用就请到我的网络U盘去下载一个CDN.lsp试试,不保证成功,但可以一试 ...

额。。。这样的话有点慢了。。我一个个sc也可以了。。。啊哦

点评

用一下pe的M模式,应该不慢的。  发表于 2013-3-24 21:54
回复

使用道具 举报

发表于 2013-3-24 22:03 | 显示全部楼层
试试我的组合物体选择
回复

使用道具 举报

 楼主| 发表于 2013-3-24 22:09 | 显示全部楼层
yjr111 发表于 2013-3-24 22:03
试试我的组合物体选择

?????长老,具体呢?
回复

使用道具 举报

 楼主| 发表于 2013-3-24 22:44 | 显示全部楼层
yjr111 发表于 2013-3-24 22:03
试试我的组合物体选择

找到了您的组合物体选择,但是:1、不能同时选择圆内的元素,2、不能选择缩放基点

点评

源码中取消文字内容1组码,保留文字类型0组码即可  发表于 2013-3-25 01:35
回复

使用道具 举报

 楼主| 发表于 2013-3-24 22:48 | 显示全部楼层
yjr111 发表于 2013-3-24 22:03
试试我的组合物体选择

不过能很大程度上提高我的效率,,非常感谢
回复

使用道具 举报

 楼主| 发表于 2013-3-25 09:37 | 显示全部楼层
yjr111 发表于 2013-3-24 22:03
试试我的组合物体选择

找到过您发布源码的那个帖子,但是好像已经找不到下载的地方了么
回复

使用道具 举报

发表于 2013-4-30 14:25 | 显示全部楼层
本帖最后由 zml84 于 2013-4-30 14:31 编辑

  1. ;;;问题来源:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100648;;;功能:两对扣半圆识别
  2. ;;;日期:zml84 于 2013-04-30
  3. (defun c:tt ()
  4.   ;;1 提取圆弧信息
  5.   (setq        lst '()
  6.         i   0
  7.   )
  8.   (if (setq ss (ssget '((0 . "ARC"))))
  9.     (repeat (sslength ss)
  10.       (setq en        (ssname ss i)
  11.             ent        (entget en)
  12.       )
  13.       (setq pt        (cdr (assoc 10 ent))
  14.             r        (cdr (assoc 40 ent))
  15.             lst        (cons (list pt r en) lst)
  16.       )
  17.       (setq i (1+ i))
  18.     )
  19.   )
  20.   ;;(princ lst)

  21.   ;;2 成对匹配
  22.   (setq lst2 '())
  23.   (while lst
  24.     (setq lst_new '()
  25.           tmp (car lst)
  26.     )
  27.     (foreach x (cdr lst)
  28.       (if (and (equal (car x) (car tmp) 1e-4)
  29.                (equal (cadr x) (cadr tmp) 1e-4)
  30.           )
  31.         (setq tmp (append tmp (cddr x)))
  32.         (setq lst_new (cons x lst_new))
  33.       )
  34.     )
  35.     (setq lst2 (cons tmp lst2)
  36.           lst  lst_new
  37.     )
  38.   )
  39.   ;;(princ lst2)

  40.   ;;3 缩放操作
  41.   (command "_.undo" "be")
  42.   (foreach tmp lst2
  43.     (setq pt (car tmp)
  44.           r  (cadr tmp)
  45.     )
  46.     (setq pt  (trans pt 0 1)
  47.           pt1 (polar pt (* 0.25 pi) r)
  48.           pt2 (polar pt (* 1.25 pi) r)
  49.     )
  50.     (if        (setq ss (ssget "c" pt1 pt2 '((0 . "text"))))
  51.       (progn
  52.         (foreach en (cddr tmp)
  53.           (ssadd en ss)
  54.         )
  55.         (command "SCALE" ss "" "non" pt 2)
  56.       )
  57.     )
  58.   )
  59.   (command "_.undo" "e")

  60.   ;;
  61.   (princ)
  62. )
回复

使用道具 举报

 楼主| 发表于 2013-4-30 21:59 | 显示全部楼层
zml84 发表于 2013-4-30 14:25

感谢回复。但是我试了一下,貌似不能缩放呢,,不知是何原因。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 11:44 , Processed in 0.234164 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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