明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3167|回复: 16

怎样实现双线填充?

  [复制链接]
发表于 2011-1-5 10:54:38 | 显示全部楼层 |阅读模式
选取图中两道直线,获取两道直线的四个端点,然后以四个端点组成的四边形用实体填充,实体图层hatch,请各位高手帮忙把这段源码写一下,多谢了,呵呵
发表于 2017-8-23 11:12:15 | 显示全部楼层
有没有填充是间断的,比如填充5mm一段,在空一段5mm,在填充5mm一段
发表于 2017-11-30 10:03:48 | 显示全部楼层
这功能CAD自带的呀,有两种方式呀,
填加拾取点与拾取对象
发表于 2017-8-28 15:13:25 | 显示全部楼层
谢谢分享这么好的东西
发表于 2011-1-5 11:55:13 | 显示全部楼层
本帖最后由 crazylsp 于 2011-4-21 09:40 编辑

))))))))))))))))))))))))))))))))))))))
 楼主| 发表于 2011-1-5 17:23:58 | 显示全部楼层
这个程序选择两条直线,实现不了在两条直线间填充为solid
发表于 2011-1-5 17:58:54 | 显示全部楼层

  1. (defun c:tt(/ en1 en2 ss p1 p2 p3 p4)
  2.   (setq en1 (car(entsel "\n第一条直线:"))
  3.         en2 (car(entsel "\n第二条直线:"))
  4.         )
  5.   (setq ss (ssadd))
  6.   (ssadd en1 ss)
  7.   (ssadd en2 ss)
  8.   (setq p1 (cdr (assoc 10 (setq enl( entget en1))))
  9.         p2 (cdr (assoc 11 enl))
  10.         p3 (cdr (assoc 10 (setq enl( entget en2))))
  11.         p4 (cdr (assoc 11 enl))
  12.         )
  13.   (if (inters p1 p4 p2 p3)
  14.     (progn
  15.       (command "line" p1 p3 "")
  16.       (ssadd (entlast) ss)
  17.       (command "line" p2 p4 "")
  18.       (ssadd (entlast) ss)
  19.       (command "hatch" "solid" "s" ss "")
  20.       )
  21.     (progn
  22.       (command "line" p1 p4 "")
  23.       (ssadd (entlast) ss)
  24.       (command "line" p2 p3 "")
  25.       (ssadd (entlast) ss)
  26.       (command "hatch" "solid" "s" ss "")
  27.       )
  28.     )
  29.   
  30.   )
发表于 2011-1-5 21:27:31 | 显示全部楼层
本帖最后由 ZZXXQQ 于 2011-1-5 21:40 编辑

简化了一下。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0
 楼主| 发表于 2011-1-6 17:53:18 | 显示全部楼层
呵呵,多谢,有这个就可以了
 楼主| 发表于 2011-1-6 17:55:03 | 显示全部楼层
明总的提示:错误 : 参数类型错误: 二维/三维点: nil
 楼主| 发表于 2011-1-6 18:05:49 | 显示全部楼层
(defun c:tt (/ s1 s2 en1 en2 p1 p2 p3 p4)
(setvar "CMDECHO" 0)
(if (and (setq s1 (entsel "\n第一条直线:"))
       (setq s2 (entsel "\n第二条直线:"))
       (setq en1 (entget(car s1)))
       (setq en2 (entget(car s2)))
       (= (cdr(assoc 0 en1)) "LINE")
       (= (cdr(assoc 0 en2)) "LINE")) (progn
  (setq p1 (cdr (assoc 10 en1))
        p2 (cdr (assoc 11 enl))
        p3 (cdr (assoc 10 en2))
        p4 (cdr (assoc 11 en2)))
  (if (inters p1 p4 p2 p3)
   (command ".SOLID" p1 p3 p2 p4 "")
   (command ".SOLID" p1 p4 p2 p3 "")
  )
))
(setvar "CMDECHO" 1)
(princ)
)
;以上才是我真正想得到的结果
 楼主| 发表于 2011-1-6 20:15:18 | 显示全部楼层
还有就是希望是框选而不是点选,另外连接两条直线的直线要删掉,这样才算完美。
发表于 2011-5-23 01:08:35 | 显示全部楼层
不知为何,cad2004用不了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 18:44 , Processed in 0.253598 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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