如果有人需要修复lisp
基本上我有一个lisp,它重命名层。这将通过脚本在MUPITAPL图形上运行,但在E-APPL层,我得到错误:错误的参数类型:lselsetp nil
这甚至在我的层次还没到一半的时候。
有什么想法吗?
;;function to rename a layer.
;;if old layer exists, and new layer doesn't exist, the old layer is simply renamed.
;;if old layer exists, and new layer is already there, it takes everything on old layer and puts them on new layer.
;;if old layer doesn't exist, it does nothing.
(defun renlay (ol nl / ss i ent )
(cond ((and (tblsearch "layer" ol) (not (tblsearch "layer" nl)))
(command "._rename" "la" ol nl)
)
((and (tblsearch "layer" ol)(tblsearch "layer" nl))
(setq ss (ssget "x" (list (cons 8 ol))))
(setq i -1)
(repeat (sslength ss)
(setq ent (entget (ssname ss (setq i (1+ i))))
ent (subst (cons 8 nl) (cons 8 (cdr (assoc 8 ent))) ent)
)
(entmod ent)
)
)
((not (tblsearch "layer" ol))
(prompt (strcat "\nLayer " ol " not found. "))
)
)
(princ)
)
;;example
(defun c:layre ()
( renlay "21" "remove" )
( renlay "32" "A-RNAM" )
( renlay "33" "A-RNUM" )
( renlay "37" "A-ANNO" )
( renlay "59" "A-RNAM" )
( renlay "65" "L-WALK" )
( renlay "72" "L-WALK" )
( renlay "140" "L-PLANT-TREE" )
( renlay "228" "remove" )
( renlay "230" "remove" )
( renlay "250" "S-STEEL" )
( renlay "420" "L-WALK" )
( renlay "450" "A-ROOF" )
( renlay "461" "A-WIND" )
( renlay "465" "A-DOOR" )
( renlay "470" "A-WIND" )
( renlay "480" "A-DOOR" )
( renlay "600" "F-FURN-FIXT" )
( renlay "610" "F-FURN-FREE" )
( renlay "737" "P-PLUM" )
( renlay "850" "M-AIRCON" )
( renlay "920" "remove" )
( renlay "$AUDIT-BAD-LAYER" "remove" )
( renlay "000HATCH" "remove" )
( renlay "021_A1BASE" "remove" )
( renlay "021-A1-SHEET" "remove" )
( renlay "021-SHEET" "remove" )
( renlay "030-DIMENSIONS" "A-ANNO-DIMS" )
( renlay "032_NAME" "A-RNAM" )
( renlay "032-RNAME" "A-RNAM" )
( renlay "032ROOMNAMES" "A-RNAM" )
( renlay "032-ROOMNAMES" "A-RNAM" )
( renlay "033_ROOM-NUMBERS" "A-RNUM" )
( renlay "033-RNUMB" "A-RNUM" )
( renlay "034_FLOOR-FINISHES" "A-FLOR-PAT" )
( renlay "034-FLOOR_FIN" "A-FLOR-PAT" )
( renlay "034-FLOOR-FINISHES" "A-FLOOR-PAT" )
( renlay "035_DETAIL-REF-NO" "remove" )
( renlay "036_SECTION-REF-NO" "remove" )
( renlay "037_TEXT" "A-ANNO-TXT" )
( renlay "037_TEXT-PARTITION" "A-ANNO-TXT" )
( renlay "037-ARCH_TEXT" "A-RNUM" )
( renlay "037-ELC-TEXT" "remove" )
( renlay "037GENERALTEXT" "A-ANNO-TXT" )
( renlay "037-NOTES" "remove" )
( renlay "037-REFERENCE" "LDADEL" )
( renlay "037-TEXT" "A-ANNO-TXT" )
( renlay "040BUILDINGGRID" "A-GRID" )
( renlay "062_HATCH-BRICK" "A-WALL" )
( renlay "062_HATCH-MASONRY" "A-WALL" )
( renlay "072_BOUNDARY" "L-SITE" )
( renlay "072_FENCE" "L-SITE-FENC" )
( renlay "072_PARKING" "L-WALK" )
( renlay "072_PAVING" "L-WALK" )
( renlay "072_RETAINING-WALL" "A-WALL" )
( renlay "072_SITE" "L-SITE" )
( renlay "072_SITE-FEATURES" "L-SITE" )
( renlay "072-190" "remove" )
( renlay "072-SITE" "L-SITE" )
( renlay "140-VEGETATION" "L-PLANT-PLAN" )
( renlay "220_CONCRETE" "S-CON" )
( renlay "230_MASONRY-WALLS" "A-WALL" )
( renlay "230_WALLS_MASONRY" "A-WALL" )
( renlay "230_WALLS_STUDS" "A-WALL-STUD" )
( renlay "230-WALL" "A-WALL" )
( renlay "231_EX-WALLS" "A-WALL" )
( renlay "231-EXISTINGWALLS" "A-WALL" )
( renlay "250_COL" "S-COL" )
( renlay "250_STRUCTURAL-STEEL" "S-STEEL" )
( renlay "260_METALWORK" "S-STEEL" )
( renlay "280NEWGLAZING" "A-WIND" )
( renlay "290_STAIRS" "A-STAIR" )
( renlay "420_PAVING" "L-WALK" )
( renlay "420-PAVING" "L-WALK" )
( renlay "444_PARTITION" "A-WALL" )
( renlay "444_STUD" "A-WAL" )
( renlay "444NEWPARTITON" "A-WALL" )
( renlay "445-EXIST_PART" "A-WALL" )
( renlay "447_SCREENS" "remove" )
( renlay "450_DOWNPIPIES" "remove" )
( renlay "450_ROOFING" "A-ROOF" )
( renlay "450-ROOF" "A-ROOF" )
( renlay "459_SUSPEMDED-CEILING" "remove" )
( renlay "459-CEILING" "remove" )
( renlay "459CEILINGEXISITNGLIGHT" "remove" )
( renlay "459-NEW" "remove" )
( renlay "461_WINDOWS" "A-WIND" )
( renlay "461-EXTERNAL" "A-WIND" )
( renlay "461-OBSERV" "A-WIND" )
( renlay "461-WIND" "A-WIND" )
( renlay "462_EX-WINDOWS" "A-WIND" )
( renlay "465_DOORS" "A-DOOR" )
( renlay "465_DOORS" "A-DOOR" )
( renlay "465-444" "A-DOOR" )
( renlay "465-DOORS" "A-DOOR" )
( renlay "465NEWDOORS" "A-DOOR" )
( renlay "466_EX-DOORS" "A-DOOR" )
( renlay "466-444" "A-DOOR" )
( renlay "467_WINDOWS-REMOVED" "remove" )
( renlay "552TILES" "remove" )
( renlay "553-VINYL" "A-FLOR-PAT" )
( renlay "600_FIXED-FURNITURE" "I-FURN-FIXT" )
( renlay "600_FURN_FIXED" "I-FURN-FIXT" )
( renlay "600-FFURN" "A-FUN-FREE" )
( renlay "600-FIXED-FURN" "F-FURN-FIXT" )
( renlay "600FIXEDFURNITURE" "F-FURN" )
( renlay "600-FURNITURE_FIXED" "F-FURN-FIXT" )
( renlay "601_EX-FIXED-FURNITURE" "I-FURN-FIXT" )
( renlay "610-FURNITURE-LOOSE" "F-FURN-FREE" )
( renlay "610-LOOSE_FURN" "F-FURN-FREE" )
( renlay "610LOOSEFURNITURE" "F-FURN-FREE" )
( renlay "611_FURN-NIC" "remove" )
( renlay "650_NEW-PLUMBING" "P-PLUM" )
( renlay "651_EX-PLUMBING" "P-FIXT" )
( renlay "700-HYD" "P-PLUM" )
( renlay "700-PLUMBING" "P-PLUM" )
( renlay "737_PLUMB" "P-PLUM" )
( renlay "737_PLUMBING" "P-FIXT" )
( renlay "737-PLUMBING-FIX" "P-PLUM" )
( renlay "783-FIRE-EX" "remove" )
( renlay "790-COMP" "remove" )
( renlay "850_MECH" "M-AIRCON" )
( renlay "850-MECHANICAL" "A-MEC" )
( renlay "920_ROADS" "remove" )
( renlay "922-ROAD" "remove" )
( renlay "930-SEMI-ENCL-SPACES" "remove" )
( renlay "A_Col" "S-COL" )
( renlay "A_DOOR" "A-DOOR" )
( renlay "A_Door" "A-DOOR" )
( renlay "A_Doors" "A-DOOR" )
( renlay "A_Furn" "I-FURN" )
( renlay "A_Paving" "L-WALK" )
( renlay "A_Roof" "A-ROOF" )
( renlay "A_Sani" "P-PLUM" )
( renlay "A_Text" "A-ANNO-TEXT" )
( renlay "A_Walls" "A-WALL" )
( renlay "A_WIND" "A-WIND" )
( renlay "A_Window" "A-WIND" )
( renlay "A1-BORDER" "remove" )
( renlay "A1-NPOINT" "remove" )
( renlay "A1-SHEET" "remove" )
( renlay "A1-TITLE" "remove" )
( renlay "A-Anno-Scrn" "remove" )
( renlay "A-Back-Colr" "remove" )
( renlay "A-BASE" "A-WALL" )
( renlay "A-BEAM" "S-COL" )
( renlay "A-CE-GE" "remove" )
( renlay "A-CEIL" "remove" )
( renlay "A-CE-WA" "remove" )
( renlay "ACOL" "S-COL" )
( renlay "A-COL" "S-COL" )
( renlay "A-COL-CONC" "S-COL-CONC" )
( renlay "A-COL-STEEL" "S-COL-STEEL" )
( renlay "A-CONC" "S-COL-CONC" )
( renlay "A-DE-GE" "remove" )
( renlay "A-DE-HA" "remove" )
( renlay "ADOOR" "A-DOOR" )
( renlay "ADOOR" "A-DOOR" )
( renlay "ADOOR" "A-DOOR" )
( renlay "A-EL-GE" "remove" )
( renlay "A-EL-GE1" "remove" )
( renlay "A-EL-GE2" "remove" )
( renlay "A-EL-HA" "remove" )
( renlay "AFIRE" "A-FIRE" )
( renlay "AFIRE" "F-FIRE" )
( renlay "AFIXT" "I-FURN-FIXT" )
( renlay "AFIXT" "A-FIXT" )
( renlay "AFIXT" "A-FIXT" )
( renlay "A-FL-AREABDRY" "remove" )
( renlay "A-FL-AREADEPT" "remove" )
( renlay "A-FL-AREARM" "remove" )
( renlay "A-FL-DI" "remove" )
( renlay "A-FL-DI1" "remove" )
( renlay "A-FL-DO" "remove" )
( renlay "A-FL-GE" "remove" )
( renlay "A-FL-GRID" "remove" )
( renlay "A-FL-HA" "remove" )
( renlay "AFLOOR" "A-FLOOR" )
( renlay "A-FLOOR-FIN" "A-FLOOR" )
( renlay "A-FLOOR-FINISH" "A-FLOOR" )
( renlay "AFLOR" "A-FLOOR" )
( renlay "A-FL-ST" "remove" )
( renlay "A-FL-TE" "remove" )
( renlay "A-FL-TE1" "remove" )
( renlay "A-FL-TE2" "remove" )
( renlay "A-FL-WI" "remove" )
( renlay "A-FURN" "I-FURN-FIXT" )
( renlay "A-FURN-FIXED" "I-FURN-FIXT" )
( renlay "A-FURN-LOOSE" "I-FURN-FREE" )
( renlay "A-GE-AREABA" "remove" )
( renlay "A-GE-GR" "remove" )
( renlay "A-GE-HA" "remove" )
( renlay "A-GE-TE" "remove" )
( renlay "A-GE-TE1" "remove" )
( renlay "A-GE-TE2" "remove" )
( renlay "AGLAS" "A-WIND" )
( renlay "AGLAS" "A-QIND" )
( renlay "AGLAS" "A-WIND" )
( renlay "AGRID" "A-GRID" )
( renlay "A-HANDRAIL" "A-FLOR-HRAL" )
( renlay "A-METALWK" "remove" )
( renlay "annot - demolition" "remove" )
( renlay "annot proposed" "remove" )
( renlay "A-PART" "A-WALL-MOVE" )
( renlay "APATH" "A-PATH" )
( renlay "A-PLUMB" "P-PLUM" )
( renlay "APPLIANCE" "remove" )
( renlay "A-RAMP" "A-FLOR-LEVL" )
( renlay "A-RDOOR" "A-DOOR" )
( renlay "A-RM-AREA" "A-AREA" )
( renlay "A-RM-AREA" "A-AREA" )
( renlay "A-RMNAM" "A-RNAM" )
( renlay "ARNAM" "A-RNAM" )
( renlay "ARNUM" "A-RNUM" )
( renlay "A-RO-EA" "remove" )
( renlay "A-RO-GE" "remove" )
( renlay "A-RO-HA" "remove" )
( renlay "AROOF" "A-ROOF" )
( renlay "A-ROOM NUMBERS" "remove" )
( renlay "A-ROOM-LEGEND" "remove" )
( renlay "A-SANIT" "P-FIXT" )
( renlay "A-SCALE 100" "remove" )
( renlay "As-Constructed" "remove" )
( renlay "A-SD-MASSSPCE" "remove" )
( renlay "ASHADE" "remove" )
( renlay "ASHADE" "remove" )
( renlay "A-STAIR-CONC" "A-STAIR" )
( renlay "A-ST-CO" "remove" )
( renlay "A-ST-HA" "remove" )
( renlay "ATEXT" "A-ANNO-TEXT" )
( renlay "A-TEXT" "A-ANNO-TEXT" )
( renlay "A-TXT" "A-ANNO-TXT" )
( renlay "A-TXT" "A-ANNO-TEXT" )
( renlay "AUCA" "A-UCA" )
( renlay "A-WA-GE" "remove" )
( renlay "A-WA-HA" "remove" )
( renlay "AWALL" "A-WALL" )
( renlay "centrline" "remove" )
( renlay "columns" "S-COL" )
( renlay "Dimensions" "A-ANNO-DIM" )
( renlay "DOOR" "A-DOOR" )
( renlay "DOOR" "A-DOOR" )
( renlay "door schedule" "remove" )
( renlay "doors" "A-DOOR" )
( renlay "E-APPL" "remove" )
( renlay "E-CbltHatch" "remove" )
( renlay "E-DISTRUBUTION" "E-POWER-SWBD" )
( renlay "E-ELECT" "E-POWER" )
( renlay "E-Halo-High" "remove" )
( renlay "E-Halo-Subd" "remove" )
( renlay "elec" "E-ELEC" )
( renlay "E-Lite-Detail" "remove" )
( renlay "E-Lite-Diagonal" "remove" )
( renlay "Extg" "remove" )
( renlay "FENCE" "L-SITE-FENC" )
( renlay "FIREEQUIP" "remove" )
( renlay "FIXTURES" "I-FURN-FIXT" )
( renlay "Fixtures" "F-FURN-FIXT" )
( renlay "FRAME" "A-ANNO" )
( renlay "FRAME" "remove" )
( renlay "FURN" "I-FURN" )
( renlay "FURNITURE" "I-FURN-FIXT" )
( renlay "furniture" "A-FURN-FREE" )
( renlay "G-Anno-Nplt" "remove" )
( renlay "G-Bgrd-Std-Scrn" "remove" )
( renlay "GRID" "A-GRID" )
( renlay "HANDRAIL" "A-FLOR-HRAL" )
( renlay "HATCH" "A-HATCH" )
( renlay "hatch - new beams" "remove" )
( renlay "hatch infill" "remove" )
( renlay "Hidden" "remove" )
( renlay "HYDRAULICS" "I-FURN-FIXT" )
( renlay "LANDSCAPE" "L-SITE" )
( renlay "LANDSCAPE" "L-SITE" )
( renlay "Layer1" "remove" )
( renlay "MASONRY" "A-WALL" )
( renlay "M-DuctHatch" "remove" )
( renlay "M-Halo-High" "remove" )
( renlay "M-Halo-Subd" "remove" )
( renlay "NEW" "remove" )
( renlay "NORTH" "remove" )
( renlay "PATH" "L-WALK" )
( renlay "PCCD200P5$0$A_Base Plan$0$037_GenTxt 0100" "A-ANNO-TEXT" )
( renlay "PCCD200P5$0$A_Base Plan$0$220_CONC" "S-COL-CONC" )
( renlay "PCCD200P5$0$A_Base Plan$0$220_Existing Conc" "S-COL-CONC" )
( renlay "PCCD200P5$0$A_Base Plan$0$231_Column Conc" "S-COL-CONC" )
( renlay "PCCD200P5$0$A_Base Plan$0$231_Existing Fixtures" "A-FIXT" )
( renlay "PCCD200P5$0$A_Base Plan$0$231_Existing Walls" "A-WALL" )
( renlay "PCCD200P5$0$A_Base Plan$0$260_Balustrade" "A-FLOR-HRAL" )
( renlay "PCCD200P5$0$A_Base Plan$0$465_DOOR" "A-DOOR" )
( renlay "PCCD200P5$0$A_Base Plan$0$465_Door Matt" "A-DOOR" )
( renlay "PCCD200P5$0$A_Base Plan$0$730_Sump" "remove" )
( renlay "PCCD200P5$0$A_Base Plan$0$737_Fixture Sanitary" "P-PLUM" )
( renlay "PCCD200P5$0$A_Base Plan$0$741_Fire HoseReel" "F-FIRE" )
( renlay "PCCD200P5$0$A_Furniture Plan$0$600_Fixed Furniture" "I-FURN-FIXT" )
( renlay "PCCD200P5$0$A_Furniture Plan$0$610_Loose Furniture B" "I-FURN-FREE" )
( renlay "PCCD200P5$0$A_Furniture Plan$0$A Joinery" "I-FURN" )
( renlay "PCCD200P5$0$A_Partition Plan$0$032_Room Names" "A-RNAM" )
( renlay "PCCD200P5$0$A_Partition Plan$0$231_Existing Fixtures" "A-DOOR" )
( renlay "PCCD200P5$0$A_Partition Plan$0$440_Xrefs" "remove" )
( renlay "PCCD200P5$0$A_Partition Plan$0$444_New Partitions" "A-WALL-PATT" )
( renlay "PCCD200P5$0$A_Partition Plan$0$461_Window" "A-WIND" )
( renlay "PCCD200P5$0$A_Partition Plan$0$465_DOOR" "A-DOOR" )
( renlay "PCCD200P5$0$A_Partition Plan$0$600_Fixed Furniture" "I-FURN-FIXT" )
( renlay "PCCD200P5$0$A_Partition Plan$0$737_Fixture Sanitary" "P-PLUM" )
( renlay "PCCD200P5$0$A_Partition Plan$0$A Column Conc" "S-COL-CONC" )
( renlay "PCCD200P5$0$A_Partition Plan$0$A Furniture Equipment" "I-FURN" )
( renlay "PCCD200P5$0$A_Partition Plan$0$A Joinery" "A-WALL" )
( renlay "PCCD200P5$0$A_Partition Plan$0$A Wall Int" "A-WALL" )
( renlay "PCCD200P5$0$A_Partition Plan$0$A Wall Int Glazed" "A-WALL" )
( renlay "PCCD200P5$0$A_Partition Plan$0$ST_Door" "A-DOOR" )
( renlay "PCCD200P5$0$A_Partition Plan$0$ST_Fixture Sanitary Hardware" "P-PLUM" )
( renlay "PCCD200P5$0$I_PL-GA_01_0100$0$032_Room Names" "A-RNAM" )
( renlay "PERGOLA" "L-SITE-DECK" )
( renlay "PLUMB" "P-PLUM" )
( renlay "PLUMBING" "P-PLUM" )
( renlay "REVDATE" "remove" )
( renlay "RNUM" "A-RNUM" )
( renlay "ROADWAY" "remove" )
( renlay "STEEL" "A-COL" )
( renlay "STUD" "A-WALL" )
( renlay "tblock" "remove" )
( renlay "TERRAZZO" "A-WALL" )
( renlay "TEXT" "A-ANNO" )
( renlay "Text - c'work" "remove" )
( renlay "title block" "remove" )
( renlay "TTLB" "remove" )
( renlay "TXT25" "A-RNAM" )
( renlay "TXT35" "A-RNAM" )
( renlay "VERANDAH" "L-SITE-DECK" )
( renlay "WALL" "A-WALL" )
( renlay "walls" "A-WALL" )
( renlay "WINDOW" "A-WIND" )
( renlay "windows" "A-WIND" )
( renlay "X-Anno-Conn" "remove" )
) 请检查您的列表中是否在多个还押案件中使用了相同的新名称;在达到第二种情况时,已经有一个具有该名称的层。
(renlay "21" "remove")
...
(renlay "228" "remove")
(renlay "230" "remove")
问题是我可能需要把不同的层删除作为laiter在脚本中,我将删除层上的任何层删除?? 然后尝试以下操作:
(renlay "21" "remove1")
...
(renlay "228" "remove2")
(renlay "230" "remove3") 如果这是唯一的解决方法,我删除删除层上对象的lisp是否可以更改为删除层名称中包含删除的对象,这样我就没有一个lisp,每个层称为删除,删除1等。
(defun C:rmly (/ SSetLayer)
(setq SSetLayer (ssget "_X" '((8 . "remove"))))
(if SSetLayer
(command "._Erase" SSetLayer "")
)
(princ)
) 第一篇文章中的代码错误发生在它试图用相同的投影新名称合并层的内容时;如果处理层(旧名称)为空,则下面的行将返回nil。
(setq ss (ssget "x" (list (cons 8 ol))))
因此,尝试处理假定的选择集时出错-改为尝试:
(if (setq ss (ssget "x" (list (cons 8 ol))))
(progn
(setq i -1)
(repeat (sslength ss)
(setq ent (entget (ssname ss (setq i (1+ i))))
ent (subst (cons 8 nl) (cons 8 (cdr (assoc 8 ent))) ent)
)
(entmod ent)
)
)
)
在这种情况下,处理层会发生什么? 米尔恰,你又一次救了我。。我可以吻你。。非常感谢。。
页:
[1]