明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2405|回复: 4

[已解答] 使用entmake函数通过点表生成填充

[复制链接]
发表于 2015-7-27 12:17 | 显示全部楼层 |阅读模式
本帖最后由 kele99kele 于 2015-7-27 12:25 编辑

最近在做楼梯工具的时候遇到一个问题,查阅各种论坛帖子、教材、课件、示例不得解,实在没办法了,请论坛大神给予帮助为盼。
langjs的帖子[源码]entmake创建图元必要条件(慢慢更新)中有如下代码:
  1. (entmake (list '(0 . "SOLID") (cons 10 pt1)  (cons 11 pt2) (cons 12 pt4) (cons 13 pt3)))
复制代码
该条件要素为4个已知坐标点。
对之前没有注意过此类问题的大神为节约时间,可参考发表于晓东的一篇帖子:http://bbs.xdcad.net/thread-668462-1-1.html

我现在想做一个采用entmake函数创建多顶点填充(多顶点夹角含有阴角、阳角)并指定填充比例的函数,反复试验不得要领,请论坛大神给一段代码提点一下。
已知条件1:n_ptlist (生成多段线的点表,点表元素数目不少于15个)
已知条件2:n_scale (整数填充比例)
已知条件3:ANGLE (填充图案名称)
目标:以n_ptlist为顶点,n_scale为填充角度,ANGLE为填充图案,采用entmake函数绘制填充。

发表于 2015-7-27 13:25 来自手机 | 显示全部楼层
建议entmake实体填充,vla修改填充名角度等参数

点评

要不先实现第一步,怎么将一个n_ptlist点表所包围的区域用entmake创建出填充(不用command)  发表于 2015-7-27 13:47
不好意思啊,起步有点低,能说的详细点么?现在的问题就是实体填充不会做。  发表于 2015-7-27 13:44
发表于 2015-7-27 15:30 | 显示全部楼层
  1. (entmake (list '(0 . "HATCH")
  2.    '(100 . "AcDbEntity")
  3.    '(67 . 0)
  4.    '(410 . "Model")
  5.    (cons 8 Layname)
  6.    '(100 . "AcDbHatch")
  7.    '(10 0.0 0.0 0.0)
  8.    '(210 0.0 0.0 1.0)
  9.    '(2 . "SOLID")
  10.    '(70 . 1)
  11.    '(71 . 0)
  12.    '(91 . 1)
  13.    '(92 . 3)
  14.    '(72 . 0)
  15.    '(73 . 1)
  16.    '(93 . 4)
  17.    (cons 10 pt1)
  18.    (cons 10 pt2)
  19.    (cons 10 pt3)
  20.    (cons 10 pt4)
  21.    '(97 . 0)
  22.    '(75 . 0)
  23.    '(76 . 1)
  24.    '(98 . 0)
  25.      )

  26.     )

点评

实在不好意思,还需要点要求,你的这个函数还是利用已有的pt1~pt4生成的填充区域,我是想用n_ptlist生成,具体的点数用(lenth n_ptlist)来定。 对于你的热心解答十分感谢。  发表于 2015-7-27 15:54
发表于 2015-7-27 16:12 | 显示全部楼层
  1. (entmakex
  2.   (append
  3.     (list '(0 . "HATCH")
  4.    '(100 . "AcDbEntity")
  5.    '(67 . 0)
  6.    '(410 . "Model")
  7.    (cons 8 Layname)
  8.    '(100 . "AcDbHatch")
  9.    '(10 0.0 0.0 0.0)
  10.    '(210 0.0 0.0 1.0)
  11.    '(2 . "SOLID")
  12.    '(70 . 1)
  13.    '(71 . 0)
  14.    '(91 . 1)
  15.    '(92 . 3)
  16.    '(72 . 0)
  17.    '(73 . 1)
  18.    (cons 93 (length lst)))
  19.    (mapcar '(lambda(x)(cons 10 x)) lst)
  20.     (list
  21.       '(97 . 0)
  22.       '(75 . 0)
  23.       '(76 . 1)
  24.       '(98 . 0)
  25.       )
  26.     )
  27.   )

点评

十分感谢,我调试下看看。  发表于 2015-7-27 16:38
发表于 2015-8-29 19:36 | 显示全部楼层
如果要设置填充比例该 怎么办呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 17:54 , Processed in 0.441177 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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