找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 781|回复: 2

[每日一码] [其他]:关于Pline模拟Spline、ellipse

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-8-30 19:28:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×

  1. (defun SptoPl (e / sp ep spam epam pts)
  2.   (setq        sp   (vlax-curve-getstartpoint e)
  3.         ep   (vlax-curve-getendpoint e)
  4.         spam (vlax-curve-getstartparam e)
  5.         epam (vlax-curve-getendparam e)
  6.   )
  7.   (while (< spam epam)
  8.     (setq p (vlax-curve-getpointatparam e spam))
  9.     (setq pts (cons p pts))
  10.     (setq spam (+ spam 10))
  11.   )
  12.   (if (not (equal (car pts) ep 0.000001))
  13.     (setq pts (append  (list ep) pts))
  14.   )
  15.   (entmake
  16.     (append
  17.       (list '(0 . "LWPOLYLINE")
  18.             '(100 . "AcDbEntity")
  19.             '(100 . "AcDbPolyline")
  20.             (cons 90 (length pts))
  21.       )
  22.       (mapcar '(lambda (x) (list 10 (car x) (cadr x)))
  23.               pts
  24.       )
  25.     )
  26.   )
  27. )
  28. (defun Eltopl (e / sp ep spam epam pts)
  29.   (setq        sp   (vlax-curve-getstartpoint e)
  30.         ep   (vlax-curve-getendpoint e)
  31.         spam (vlax-curve-getstartparam e)
  32.         epam (vlax-curve-getendparam e)
  33.   )
  34.   (while (< spam epam)
  35.     (setq p (vlax-curve-getpointatparam e spam))
  36.     (setq pts (cons p pts))
  37.     (setq spam (+ spam (/ pi 180)))
  38.   )
  39.   (if (not (equal (car pts) ep 0.000001))
  40.     (setq pts (append (list ep) pts))
  41.   )
  42.   (entmake
  43.     (append
  44.       (list '(0 . "LWPOLYLINE")
  45.             '(100 . "AcDbEntity")
  46.             '(100 . "AcDbPolyline")
  47.             (cons 90 (length pts))
  48.       )
  49.       (mapcar '(lambda (x) (list 10 (car x) (cadr x)))
  50.               pts
  51.       )
  52.     )
  53.   )
  54. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-8-30 19:46:31 | 显示全部楼层
对椭圆会有:
命令: (SPTOPL (CAR (ENTSEL)))
选择对象: 在只有一个顶点的二维多段线 (0) 上增加一个顶点。
((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 1) (10
1025.87 1484.79))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1094个

财富等级: 财源广进

发表于 2022-4-11 08:24:29 | 显示全部楼层
感谢楼主分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 10:48 , Processed in 0.336309 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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