我试着这样做,但有些事情不对劲:
- (defun c:LegendBatch (/ laylist INPT block)
- (setq laylist '("CCC_LAYOUT_PROPOSED_Carriageway_Hatch" "CCC_LAYOUT_PROPOSED_Tactile_Paving_Yellow_Hex_Hatch"))
- (foreach l laylist
- (cond ((= l "CCC_LAYOUT_PROPOSED_Carriageway_Hatch")(= block "Proposed Footpath"))
- ((= l "CCC_LAYOUT_PROPOSED_Tactile_Paving_Yellow_Hex_Hatch")(= block "Proposed Tactile Paving (Yellow)"))
- )
- (if (tblsearch "LAYER" l)
- (if (setq pt (setq INPT (getpoint "\nPick Insertion Point: ")))
- (command "_.-insert" block INPT "1" "1" "0")))
- (princ)))
- (command "")
- (prin1))
我想说的是,如果l是A层,那么将块A添加到图形中,如果l是B层,那么将块B添加到图形中。我现在设置它的方式无法工作,因为它将在添加块之前循环所有层。 |