明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1515|回复: 3

哪个有把一小段直线转成构造线的小程式吗

[复制链接]
发表于 2007-8-31 13:23:00 | 显示全部楼层 |阅读模式
哪个有把一小段直线转成构造线的小程式吗
发表于 2007-8-31 18:41:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-31 18:49:36 编辑

  1. (defun c:test(/ lin lst pt1 pt2 vec mid)
  2.   (if (and (setq lin (car (entsel "\n请选择直线段:")))
  3.     (setq lst (entget lin))
  4.     (= (cdr (assoc 0 lst)) "LINE")
  5.       )  
  6.     (progn
  7.       (setq pt1 (cdr (assoc 10 lst)))
  8.       (setq pt2 (cdr (assoc 11 lst)))
  9.       (setq vec (mapcar '- pt2 pt1))
  10.       (setq mid (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2)))
  11.       (entmake
  12.         (list
  13.    '(0 . "XLINE")
  14.    '(100 . "AcDbEntity")
  15.    '(100 . "AcDbXline")
  16.    (cons 10 mid)
  17.    (cons 11 vec)
  18. )
  19.       )
  20.     )
  21.   )
  22. )
如果要批量转:
  1. (defun c:test(/ i sel ent lst pt1 pt2 vec mid)
  2.   (setq i 0)
  3.   (prompt "\n请选择直线段:")
  4.   (if (setq sel (ssget '((0 . "LINE"))))
  5.     (repeat (sslength sel)
  6.       (setq ent (ssname sel i))
  7.       (setq lst (entget ent))
  8.       (setq pt1 (cdr (assoc 10 lst)))
  9.       (setq pt2 (cdr (assoc 11 lst)))
  10.       (setq vec (mapcar '- pt2 pt1))
  11.       (setq mid (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2)))   
  12.       (setq i (1+ i))
  13.       (entdel ent)
  14.       (entmake
  15.         (list
  16.    '(0 . "XLINE")
  17.    '(100 . "AcDbEntity")
  18.    '(100 . "AcDbXline")
  19.    (cons 10 mid)
  20.    (cons 11 vec)
  21. )
  22.       )
  23.     )
  24.   )
  25.   (princ)
  26. )
 楼主| 发表于 2007-8-31 22:23:00 | 显示全部楼层

谢谢楼上兄台谢了.

发表于 2013-6-21 15:25:48 | 显示全部楼层
能在偏移构造线的时候,同时生成一个矩形。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-29 03:47 , Processed in 0.184893 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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