明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lionyoyo

如何创建POLYLINE??

  [复制链接]
发表于 2012-12-29 08:55:24 | 显示全部楼层
就是看了帮助

多段线组码里就没有这几项

还有42组码的意义也找不到

我也遇到这个问题了
发表于 2022-5-7 19:57:05 | 显示全部楼层
本帖最后由 skg123 于 2022-5-7 20:08 编辑
  1. (defun c:tt ( / )
  2. (entmake '((0 . "POLY-LINE")
  3.              (100 . "AcDbEntity")
  4.              (67 . 0)
  5.              (8 . "0")
  6.              (100 . "AcDbPolyline")
  7.               (90 . 7)
  8.              (70 . 128)
  9.              (43 . 0.0)
  10.              (38 . 0.0)
  11.              (66 . 1)
  12.              (10 1.9 10.0)  (40 . 0.0) (41 . 0.0) (42 . 0.0)
  13.              (10 0.1 0.0)   (40 . 0.0) (41 . 0.0) (42 . 1.0)
  14.              (10 3.9 0.0)   (40 . 0.0) (41 . 0.0) (42 . 0.0)
  15.              (10 2.1 10.0 0.0)  (40 . 0.0) (41 . 0.0) (42 . -1.0)
  16.              (10 5.9 10.0 0.0)  (40 . 0.0) (41 . 0.0) (42 . 0.0)
  17.              (10 4.1 0.0 0.0)   (40 . 0.0) (41 . 0.0) (42 . 1.0)
  18.              (10 7.9 0.0 0.0)   (40 . 0.0) (41 . 0.0) (42 . 0.0)
  19.              (210 0.0 0.0 1.0)
  20.           )
  21. )
  22. (princ)
  23. )



  24. ;;By Longxin 明经通道 2006.03

  25. ;;生成一条pline
  26. ;;参数:
  27. ;;plist:坐标点表,如:((x1 y1 z1) (x2 y2 z2) (x2 y2 z2))或((x1 y1) (x2 y2) (x2 y2))
  28. ;;tudulist:各点之间的凸度表,与plist相对应,可为nil
  29. ;;bg:标高
  30. ;;clo:是否闭合,1:闭合,0:不闭合
  31. (defun c:test ()
  32. (setq a '((102.946 68.6354 3) (112.102 97.4851 3) (125.484 59.4879 3) (103.651 52.4513 3))
  33. b '(-1.02092 -0.485629 0 -1.31201)
  34. )
  35. (makepline a b 211 1)
  36. )

  37. (defun makepline (plist clo bg tudulist / dxf n i pt)
  38.   (setq bg  (cons 38 bg)
  39. i   0
  40. n   (length plist)
  41. dxf nil
  42.   )

  43.   (if (= clo 1)
  44.     (entmake (list '(0 . "POLYLINE") '(66 . 1) '(70 . 1) bg))
  45.     (entmake (list '(0 . "POLYLINE") '(66 . 1) bg))
  46.   )
  47.   (repeat n
  48.     (setq pt (nth i plist)
  49.    pt (list (nth 0 pt) (nth 1 pt))
  50.     )
  51.     (if tudulist
  52.       (entmake (list (cons 0 "VERTEX")
  53.        (cons 10 pt)
  54.        (cons 42 (nth i tudulist))
  55.         )
  56.       )
  57.       (entmake (list (cons 0 "VERTEX")
  58.        (cons 10 pt)
  59.         )
  60.       )
  61.     )
  62.     (setq i (1+ i))
  63.   )
  64.   (entmake '((0 . "SEQEND")))
  65.   (princ)
  66. )
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=44662&highlight=POLYLINE
代码来源 上面帖子的 5楼,但是我没有测试成功
(entmake '((0 . "POLYLINE")

本帖子中包含更多资源

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

x
发表于 2022-5-7 20:16:49 | 显示全部楼层
本帖最后由 skg123 于 2022-5-7 21:13 编辑

(conmand ".3dpoly" pt1 pt2 pt 3 pt4 "C")

完整代码,请翻看论文
https://www.docin.com/p-1521012869.html

高飞鸟大神的代码

https://www.highflybird.cn/drupal/node/148

本帖子中包含更多资源

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

x
发表于 2022-5-7 21:03:52 | 显示全部楼层
搜索了一晚上,终于成功了
https://www.highflybird.cn/drupal/node/148
  1. (defun c:test ()
  2. (setq pts '((102.946 68.6354 3) (112.102 97.4851 3) (125.484 59.4879 3) (103.651 52.4513 3))
  3. Closed 1
  4. )
  5. (Ent:Make_Poly pts 1)
  6. )
  7. (defun Ent:Make_Poly (pts Closed / e)
  8.   (if (=  Closed 1)
  9.     (setq e (Entmake (list '(0 . "POLYLINE") '(70 . 9))))
  10.     (setq e (Entmake (list '(0 . "POLYLINE") '(70 . 8))))
  11.   )
  12.   (foreach p pts
  13.     (entmake (list '(0 . "VERTEX") '(70 . 32) (cons 10 p)))
  14.   )
  15.   (entmake '((0 . "SEQEND")))
  16.   (entlast)
  17. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 13:17 , Processed in 0.129334 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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