- (defun c:qw1 (/ ss1 ent ent_list ent_data color layer linetype obj_list result_ss)
- (prompt "\n选择一个图形: ")
- (setq ss1 (ssget)
- ent (ssname ss1 0)
- ent_list (entget ent)
- ent_data (assoc 8 ent_list)
- layer_name (cdr ent_data)
- ent_data (assoc 62 ent_list)
- color (if (= (cdr ent_data) 256) "bylayer" (cdr ent_data))
- ent_data (assoc 6 linetype ent_list)
- linetype (if (= (cdr ent_data) 7) "bylayer" (cdr ent_data))
- )
- (prompt (strcat "\n所选图形的颜色: " color))
- (prompt (strcat "\n所选图形所在的图层: " layer_name))
- (prompt (strcat "\n所选图形的线型: " linetype))
- (setq obj_list (list (cons 62 "bylayer") (cons 8 "0") (cons 6 "bylayer")))
- (setq result_ss (ssget "X" obj_list))
- (if result_ss
- (progn
- (sssetfirst nil result_ss)
- (prompt "\n选中了所有颜色为\"bylayer\"、图层为\"0\"、线型为\"bylayer\"的对象!")
- )
- (prompt "\n未找到符合条件的对象.")
- )
- (princ)
- )
我想用命令"QW1"来运行。当你运行程序后,它会提示你选择一个图形。然后它会获取该图形的颜色、图层和线型,并在命令行上显示出来。接着,它会获取颜色为"bylayer"、图层为"0"、线型为"bylayer"的所有对象,并将它们选中。如果没有找到符合条件的其他对象,则会显示相应的提示信息。目前反馈参数太多咋整 有点困住了
网友答: 11 ent_data (assoc 6 linetype ent_list)