由于BigAl-sais,需要定义末端段距离规则。
这是一份草稿。
- (defun c:bedivide (/ ent len 12d 24d)
- (vl-load-com)
- (if (and (setq ent (entsel "\nSelect object to divide."))
- (not (vl-catch-all-error-p
- (setq start (vl-catch-all-apply
- 'vlax-curve-getpointatparam
- (list (car ent) 0.0))))
- )
- )
- (progn
- (setq ent (car ent))
- (setq len (vlax-curve-getdistatparam ent (vlax-curve-getendparam ent)))
- (setq 12d (/ len 12)
- 12d (fix (if (< (- len 12d) 12) (1- 12d) (- 12d 2)))
- 24d (/ len 24)
- 24d (fix (if (< (- len 24d) 24) (1- 24d) (- 24d 2)))
- )
- (prompt (strcat "\nStuds @ 24 = " (itoa 24d) " : Studs @ 12 = " (itoa 12d)))
- )
- )
- (princ)
- )
|