好的,在塔瓦的评论之后,你可以用这个:
- (defun SortedLayoutsList ( / L )
- (vlax-map-collection
- (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object)))
- (function (lambda (x) (setq L (cons (list (vla-get-TabOrder x) (vla-get-Name x)) L))))
- )
- (mapcar 'cadr (cdr (vl-sort L '(lambda (a b) (< (car a) (car b))))))
- ); defun SortedLayoutsList
(SortedLayoutList)而不是(layoutlist)
编辑:
或者直接获取第一个选项卡(对于此特定任务):
- ; (GetFirstLayoutTab)
- (defun GetFirstLayoutTab ( / Lcoll )
- (setq Lcoll (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object))) )
- (vl-some
- '(lambda (x) (if (= 1 (vla-get-TabOrder x)) (vla-get-Name x)))
- (mapcar '(lambda (x) (vla-item Lcoll x)) (layoutlist))
- )
- )
|