找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 27|回复: 0

椭圆转SPLINE.lsp

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-10-6 19:52:04 | 显示全部楼层 |阅读模式
  1. ;椭圆转SPLINE 明经 ZZXXQQ 2008.2.1
  2. (defun c:tt ()
  3. (setvar "CMDECHO" 0)
  4. (setq oldos (getvar "OSMODE"))
  5. (if (and (setq s1 (entsel "\nSelect a Ellipse 选择椭圆 :"))
  6.           (setq ent (entget(car s1)))
  7.           (= (cdr(assoc 0 ent)) "ELLIPSE")
  8.   ) (progn
  9.   (command ".undo" "BE")
  10.   (command "divide" s1 16)
  11.   (setq p1 (cdr(assoc 10 ent))
  12.         p2 (cdr(assoc 11 ent))
  13.         p2 (polar p1 (angle '(0 0) p2) (distance '(0 0) p2))
  14.         p3 (polar p2 (+ (angle p1 p2) (/ pi -2)) 5))
  15.   (setq ss (ssget "P"))
  16.   (setq pt (cdr(assoc 10 (entget(ssname ss 0)))))
  17.   (setq i 0)
  18.   (setvar "OSMODE" 0)
  19.   (command ".spline" pt)
  20.   (repeat (1- (sslength ss))
  21.    (setq pt (cdr(assoc 10 (entget(ssname ss (setq i (1+ i)))))))
  22.    (command pt)
  23.   )
  24.   (command "c" p3)
  25.   (setvar "OSMODE" oldos)
  26.   (command ".erase" ss (car s1) "")
  27.   (command ".undo" "E")
  28. ))
  29. (setvar "CMDECHO" 1)
  30. (princ)
  31. )
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 09:51 , Processed in 0.120329 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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