• (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)

   
  • 上一篇:求助:文件太大
  • 下一篇:没有了