找回密码
 立即注册

QQ登录

只需一步,快速开始

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

椭圆转SPLINE.lsp

[复制链接]

1

主题

0

回帖

123

积分

管理员

积分
123
发表于 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, 2025-5-2 23:48 , Processed in 0.079466 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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