Simplify this with CSV

Simplify this with CSV

venturini.anthony
Advocate Advocate
616 Views
5 Replies
Message 1 of 6

Simplify this with CSV

venturini.anthony
Advocate
Advocate

I'm trying to simplify this lisp. I made this utilizing OpenDCL and it works as it should. I'm trying to simplify this so the "predefined list" is in a CSV file instead of taking up the room here in the actual lisp. this would make it easier to update if my library ever changes. I tried a few different ways but had no luck. Would anyone be able to help me out with this? 

; DATE FINALIZED 08/28/2024                    ;
;----------------------------------------------;
; COMMAND: Detail/Details                      ;
; OPERATIONS: add in single or multiple        ;
;             details to the side of the page  ;
;----------------------------------------------;
; To add More: Update set list, Opendcl list,  ;
;		       combo box 1 category &          ; 
;              predefined list                 ;
;                                              ; 
;                                              ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(command "OPENDCL")

(DEFUN C:Details ()
  ; call the method to load the .odcl file
  (dcl-project-load "L:\\CAD Training\\CAD Technical Team\\_Testing\\Detail Insert Wizard\\DetailInsert.odcl" T)
  ; call the methos to show the dialogue box
  (dcl-Form-Show BlockInsert/Form1)
  (princ)
)


;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

;Initializes form & loads dropdown box with values

;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;								   ;
  ;			 THIS NEEDS			   ;
  ;			TO BE UPDATED 		   ;
  ;		WITH ALL CATEGORY NAMES	   ;
  ;								   ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defun c:FADE/Form1#OnInitialize (/) ;initializes the form & sets the values of the combo box. these match the DCL file
  (dcl-Control-SetList FADE/Form1/ComboBox1 (("Site" "Signs" "Storm" "Utility" "Sanitary" "Landscape" "Lighting" "Soil Erosion" "Detail Border Template")))
)


  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;								   ;
  ;			 THIS NEEDS			   ;
  ;			TO BE UPDATED 		   ;
  ;		WITH ALL BLOCK NAMES 	   ;
  ;			AND CATEGORY		   ;
  ;								   ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
(defun c:BlockInsert/Form1/ComboBox1#OnSelChanged (ItemIndexOrCount Value / newItems)
  ; Define the mapping between ComboBox values and lists of strings
  (setq comboBoxMapping
    (list
      (list "Site" '("ADA-RAMP-FOOTING" "ADA-RAMP-PARALLEL CURB RAMP" "ADA-RAMP-PARALLEL CURB-PAVERS" "ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER TRANSITION" "ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER" 
                     "ADA-RAMP-PERPENDICULAR CURB AT BLDG" "ADA-RAMP-PERPENDICULAR CURB WITH FLARE SIDES" "ADA-RAMP-PERPENDICULAR CURB" "ADA-RAMP-SWITCHBACK WITH HANDRAIL" "ADA-RAMP-WITH HANDRAIL" 
                     "ADA-SIGN ON BOLLARD" "ADA-SIGN ON WALL" "ADA-SIGN WITH EV ON BOLLARD" "ADA-SIGN WITH VAN & PENALTY" "ADA-STRIPING-LOGO" "ADA-STRIPING-SPACE & ACCESS ANGLED-HAIRPIN" 
                     "ADA-STRIPING-SPACE & ACCESS ANGLED" "ADA-STRIPING-SPACE & ACCESS-C11" "ADA-STRIPING-SPACE & ACCESS-HAIRPIN" "ADA-STRIPING-SPACE & ACCESS-WALL SIGN" "ADA-STRIPING-SPACE & ACCESS" 
                     "ADA-TRUNCATED DOME" "BIKE RACK-U SHAPED" "BIKE RACK" "BOLLARD-4 INCH DIA-4 FT HT" "BOLLARD-4 INCH-3 FT HT" "BOLLARD-6 INCH-4 FT HT" "BOLLARD-ARCH" "BOLLARD-U" "BULK HEAD" 
                     "CHAIN LINK-SINGLE -GATE WITH PRIVACY SLATS" "CONCRETE PAD-CONTROL JOINT" "CONCRETE PAD-DUMPSTER" "CONCRETE PAD-HEAVY DUTY" "CONCRETE PAD" "CURB-ASPHALT" "CURB-BELGIAN BLOCK-6 INCH" 
                     "CURB-BELGIAN BLOCK-AT CONC WALK" "CURB-BELGIAN BLOCK-CURB CUT" "CURB-BELGIAN BLOCK-DEPRESSED" "CURB-BELGIAN BLOCK-FLUSH" "CURB-BELGIAN BLOCK-TAPER" "CURB-CONCRETE AND SIDEWALK WITH KEYWAY" 
                     "CURB-CONCRETE CURB & GUTTER" "CURB-CONCRETE-12 INCH" "CURB-CONCRETE-6 INCH & FLUSH" "CURB-CONCRETE-CURB CUT TAPER" "CURB-CONCRETE-DEPRESSED AT DRIVEWAY" 
                     "CURB-CONCRETE-DEPRESSED WITH APRON AT DRIVEWAY" "CURB-CONCRETE-DROPPED WITH CRADDLE" "CURB-CONCRETE-MOUNTABLE" "CURB-CONCRETE-SLOPED" "CURB-CONCRETE-VERTICAL TAPER" 
                     "CURB-CONCRETE-VERTICAL-FACEFORM" "CURB-CURB CUT TAPER" "CURB-GRANITE BLOCK-RSIS" "CURB-GRANITE-MOUNTABLE-RSIS" "CURB-MONOLITHIC & SIDEWALK" "FENCE-ALUMINUM PICKET WITH BRICK COLUMN" 
                     "FENCE-ALUMINUM PICKET WITH GATE" "FENCE-ALUMINUM PICKET" "FENCE-BOARD ON BOARD" "FENCE-CHAIN LINK WITH BRACING" "FENCE-CHAIN LINK WITH GATE" "FENCE-CHAIN LINK-BARBED WIRE WITH GATE" 
                     "FENCE-CHAIN LINK" "FENCE-PICKET-4FT GATE" "FENCE-PICKET-8FT GATE" "FENCE-POST & RAIL-VINYL" "FENCE-POST & RAIL-WOOD" "FENCE-PVC" "FENCE-STOCKADE-8FT GATE" "FENCE-STOCKADE" 
                     "FENCE-TEMP-CHAIN-LINK" "FENCE-VINYL" "FENCE-WOOD-SOUNDWALL" "FENCE-WOOD" "FIRE GATE" "GRAVEL-PARKING" "GRAVEL" "GUIDERAIL-AESTHETIC" "GUIDERAIL-GALVANIZED STEEL" "GUIDERAIL-TIMBER" 
                     "ISOLATION JOINT" "JERSEY-BARRIER" "PAVEMENT-ASPHALT-PERVIOUS" "PAVEMENT-ASPHALT-RESIDENTIAL DRIVEWAY" "PAVEMENT-ASPHALT" "PAVEMENT-CONCRETE-ASPHALT-TRANSITION" 
                     "PAVEMENT-CONCRETE-ASPHALTIC-TAPER-STRIP" "PAVEMENT-CONCRETE-EXPANSION JOINT" "PAVEMENT-CONCRETE-ISOLATION JOINT" "PAVEMENT-CONCRETE-PAD JOINT" "PAVEMENT-CONCRETE-PERVIOUS" 
                     "PAVEMENT-CONCRETE-STANDARD" "PAVEMENT-EXPANSION-JOINT-DOWELED" "PAVEMENT-HEAVY-DUTY" "PAVEMENT-MILLING" "PAVEMENT-PAVER-PERVIOUS" "PAVEMENT-REPAIR" "PAVER-ECO" "PAVER-GRASS" "SIDEWALK-ASPHALT" 
                     "SIDEWALK-CONCRETE-AT BUILDING" "SIDEWALK-CONCRETE-FLUSH CURB" "SIDEWALK-CONCRETE-RAISED" "SIDEWALK-CONCRETE" "SIDEWALK-INTERLOCKING-CONCRETE PAVERS" "SIDEWALK-PERVIOUS-CONCRETE PAVERS" 
                     "SIDEWALK-SCORED CONCRETE" "SIDEWALK-STAMPED CONCRETE" "SIDEWALK-WAFFLE PAVER STONE" "SIGN-DO NOT BLOCK CROSSWALK SIGN DETAIL" "SIGN-MONUMENT-FOOTING" "SIGN-POST FOOTING" "SIGN-POST" 
                     "SIGN-VISITOR-PARKING" "SIGNS-COMPACT-CARS ONLY" "SIGNS-CUSTOMER-PARKING ONLY" "SIGNS-EMPLOYEE-PARKING ONLY" "SIGNS-EV-CHARGING-STATION" "SIGNS-FIRE LANE" "SIGNS-LOADING ZONE" "SIGNS-NO IDLING" 
                     "SIGNS-NO PARKING" "SIGNS-SHARED ZONE" "SIGNS-STREET-ID" "SPEED BUMP-ASPHALT" "SPEED HUMP-TRAFFIC CALMING" "STAIRS-CONCRETE-CHEEK WALLS" "STAIRS-CONCRETE-WITHOUT CHEEK WALLS" 
                     "STRIPING-CROSSWALKS-PAINT" "STRIPING-CROSSWALKS-THERMOPLASTIC" "STRIPING-DO NOT ENTER" "STRIPING-EV-CHARGE-STATION" "STRIPING-FIRE LANE" "STRIPING-FIRE ZONE" "STRIPING-PAINTED MARKINGS" 
                     "STRIPING-STALL-30 DEGREES" "STRIPING-STALL-HAIRPIN-ANGLED" "STRIPING-STALL-HAIRPIN" "STRIPING-STALL-PARALLEL" "STRIPING-STALL" "STRIPING-STOP BAR-CROSSWALK INTERSECTION" 
                     "STRIPING-STOP BAR-INTERSECTION" "TRASH-BOARD ON BOARD-DOUBLE CHAIN LINK GATE" "TRASH-BOARD ON BOARD-DOUBLE GATE" "TRASH-BOARD ON BOARD-SINGLE GATE" "TRASH-CHAIN LINK-DOUBLE GATE-ELEVATIONS" 
                     "TRASH-CHAIN LINK-DOUBLE GATE" "TRASH-CHAIN LINK-DOUBLE-GATE WITH PRIVACY SLATS" "TRASH-CONCRETE-BOARD ON BOARD WITH GATE" "TRASH-CONCRETE-CHAIN LINK WITH GATE" "TRASH-CONCRETE-ROOF" 
                     "TRASH-CONCRETE-SINGLE BOARD ON BOARD GATE" "TRASH-CONCRETE-SINGLE CHAIN LINK GATE" "TRASH-GATE" "TRASH-STOCKADE-DOUBLE GATE" "TRASH-STOCKADE-SINGLE GATE" "WALL-CONCRETE-BLOCK" 
                     "WALL-CONCRETE-RETAINING" "WALL-CROSS SECTION" "WALL-GRAVITY-BLOCK-RETAINING" "WALL-MASONRY-BLOCK-SCREEN" "WALL-MODULAR BLOCK" "WALL-SEDIMENT-FOREBAY" "WHEELSTOP-CONCRETE POURED IN PLACE" 
                     "WHEELSTOP-REBAR IN PAVEMENT"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Signs" '("R01-01-Stop" "R01-02-Yield" "R01-03-4 Way Stop" "R01-04-Allway Stop" "R02-1-Speed Limit X" "R02-2-Speed X Truck" "R02-3-Speed X Night" "R02-4-Speed Min X" "R02-4A-Speed Limit X Min X" 
                      "R02-5A-Speed Reduce Ahead" "R02-5B-Speed Reduce X" "R02-5C-Speed Zone" "R03-01-No Right Turn" "R03-02-No Left Turn" "R03-03-No Turns" "R03-04-No U Turn" "R03-05-Lane Right Only" 
                      "R03-05L-Lane Left Only" "R03-06-Lane Left Thru" "R03-07L-Lane Must Left" "R03-07R-Lane Must Right" "R03-08-Lane Left Only Lane Left Thru" "R03-08A-Lane Left Only Lane Left Right" 
                      "R03-08B-Lane Left Only Lane Right Only" "R03-08C-Lane Left Only Lane Left Thru Lane Right Thru" "R03-08D-Lane Left Only Lane Left Only Lane Thru Only Lane Thru" 
                      "R03-08E-Lane Thru Lane Thru Lane Right Only" "R03-08F-Lane Left Only Lane Thru Lane Thru Lane Thru Right" "R03-08G-Lane Left Only Lane Thru" "R03-08H-Lane Thru Lane Right Only" 
                      "R03-08K-Lane Left Only Lane Thru Lane Thru Right" "R03-08L-Lane Left Only Lane Thru Right" "R03-08M-Lane Thru Lane Thru Lane Thru Lane Thru Right" "R03-08N-Lane Thru Lane Thru Right" 
                      "R03-08P-Lane Thru Lane Thru Lane Thru Right" "R03-08Q-Lane Left Only Lane Thru Only Lane Right Only" "R03-08R-Lane Left Thru Lane Right Only" "R03-08S-Lane Left Only Lane Thru Lane Right Only" 
                      "R03-08T-Lane Left Only Lane Thru Lane Thru" "R03-08U-Lane Left Only Lane Thru Lane Right Only" "R03-09A-Lane Left Right Opposing" "R03-09B-Lane Center Lefts Only" "R03-10-Lane Restricted Vert" 
                      "R03-11-Lane Bus Carpools Vert" "R03-12-Lane Restricted Ends Vert" "R03-13-Lane Restricted Ahead Horiz" "R03-14-Lane Bus Carpools Horiz" "R03-15-Lane Restricted Ends Horiz" "R04-01-Do Not Pass" 
                      "R04-02-Pass With Care" "R04-03-Slow Traffic" "R04-05-Trucks Right Lane" "R04-06-Truck Lane 500 Feet" "R04-07-Lane Shift Right" "R04-07A-Keep Right" "R04-07B-Keep Right at 45" 
                      "R04-08-Lane Shift Left" "R05-01-Do Not Enter" "R05-01A-Wrong Way" "R05-02-No Trucks" "R05-03-No Vehicles" "R05-03M-No Exit Emergency Only" "R05-04-No Commercial Vehicles" 
                      "R05-05-Lugs Prohibited" "R05-06-No Bicycles" "R05-10A-No Peds Cycles Motorcycles" "R05-10B-No Peds Bicycles" "R05-10C-No Peds" "R05-2A" "R06-01L-One Way Left" "R06-01R-One Way Right" 
                      "R06-02-One Way Right Vert" "R06-03-Divided Highway Thru" "R06-03A-Divided Highway" "R07-01-No Parking Left Right" "R07-01A-No Parking Right" "R07-01B-No Parking Left" "R07-02A-No Parking Time" 
                      "R07-04-No Standing Left Right" "R07-05-One Hour Parking" "R07-08-ADA Parking" "R07-107-No Parking Bus Stop Right" "R07-107A-No Parking Bus Stop Right Symbol" 
                      "R07-107M-No Parking Bus Stop Left Right" "R07-108-Two Hour Parking" "R07-201A-Tow Away Zone" "R07-4L-No Stop Stand Left" "R07-4R-No Stop Stand Right" "R07-4X-No Stop Stand Both" 
                      "R08-01-No Parking Pavement" "R08-02-No Parking Shoulder Only" "R08-03-No Parking" "R08-03A-No Parking Symbol" "R08-03AB-No Parking Supplemental Sign Bridge" 
                      "R08-03AP-No Parking Supplemental Sign Pavement" "R08-04-Emergency Parking Only" "R08-05-No Stopping Pavement" "R08-06-No Stopping Shoulder Only" "R08-07-Emergency Stopping Only" 
                      "R08-08-Do Not Stop On Tracks" "R09-01-No Hitchhiking" "R09-02-Crosswalk Cross" "R09-03A-No Pedestrians" "R09-03BL-Crosswalk Left" "R09-03BR-Crosswalk Right" "R1-5B-Stop Here For Pedestrians" 
                      "R1-5C-Stop Here For Pedestrians" "R10-00B-No Turn on Red Horiz" "R10-01-Crosswalk On Green" "R10-02A-Crosswalk On Ped Signal" "R10-03-Crosswalk Push For Green Light" 
                      "R10-04-Crosswalk Push For Walk Signal" "R10-04B-Crosswalk Push For Ped Right" "R10-04BL-Crosswalk Push For Ped Left" "R10-05-Left On Green Arrow" "R10-06-Stop Here On Red" 
                      "R10-07-Do Not Block Intersection" "R10-08-Use Green Arrow Lane" "R10-11A-No Turn On Red Vert" "R10-11B-No Turn On Red Horiz" "R10-12-LeftTurn Yield On Green" "R10-13A-Delayed Green" 
                      "R11-1-Keep Off Median" "R11-2-Road Closed" "R11-3A-Road Closed XMiles Ahead" "R11-4-Road Closed To Thru Traffic" "R12-1-Wt Limit XTons" "R12-2-Axle Wt Limit XTons" "R12-3-No Trucks Over XWt" 
                      "R12-4-Wt LimitX Tons XGross Tons" "R12-5-Wt Limit 3 Trucks" "R14-1-Truck Route" "Wetlands Sign" "W01-01L-Left 90 Deg" "W01-01R-Right 90 Deg" "W01-02L-Left 60 Deg" "W01-02R-Right 60 Deg" 
                      "W01-03L-Left Right 90 Deg" "W01-03R-Right Left 90 Deg" "W01-04L-Left Right 60 Deg" "W01-04R-Right Left 60 Deg" "W01-05-Sturn" "W01-06L-Left Arrow" "W01-06R-Right Arrow" 
                      "W01-07-Two Way Traffic Arrow" "W01-08L-Keep Left Arrow" "W01-08R-Keep Right Ahead" "W02-01-Intersection" "W02-02-T Intersection Right" "W02-03-Fork Intersection" "W02-04-T Intersection Ahead" 
                      "W02-05-Y Intersection" "W03-03-Signal Ahead" "W03-1A-Stop Ahead" "W03-2A-Yield Ahead" "W04-01-Merge Right" "W04-03-Merge Right Two Lanes" "W05-01-Road Narrows" "W05-02-Narrow Bridge" 
                      "W05-02A-Narrow Lanes" "W05-03-One Lane Bridge" "W06-01-Divider Ahead" "W06-02-Divider Ends" "W06-03-Two Way Traffic No Divider" "W07-01-Steep Downhill Grade" "W07-01B-Steep Downhill Grade 8%" 
                      "W08-01-Bump Ahead" "W08-02-Dip Ahead" "W08-03-Pavement Ends" "W08-04-Soft Shoulder" "W09-01L-Left Lane Ends Text" "W09-01R-Right Lane Ends Text" "W09-02L-Lane Ends Merge Left" 
                      "W09-02R-Lane Ends Merge Right" "W10-01-Railroad Crossing" "W11-02-Pedestrian Crossing Ahead" "W11-02-Pedestrian Crossing" "W11-08-Firehouse Ahead" "W11A-02-Pedestriant Crossing Crosswalk"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Storm" '("BASIN-UNDERGROUND-MANHOLE-5X5" "BASIN-UNDERGROUND-PIPEBED" "CATCH BASIN HOOD DETAIL" "CLEANOUT-STORM" "CONTECH FLUIDIC-CONE HYDROBRAKE MODEL FC9B WITH PLATE ATTACHMENT AND BOX INLET" 
                      "CONTECH-CHART" "DAM WITH CLAY CORE" "FLARED END SECTION-CONCRETE" "GATE VAULT-STORM" "HEADER PIPE-REDUCER HDPE" "HEADER PIPE-RISER CO HDPE" "HEADWALL-PRECAST CONCRETE WITH WINGS" 
                      "HEADWALL-PRECAST CONCRETE" "INLET-B-EXTENDED" "INLET-B-HOOD" "INLET-B-J-ECO" "INLET-B-N-ECO" "INLET-B-UGROUNDBASIN-5X5" "INLET-D-N-ECO" "INLET-D" "INLET-DOGHOUSE 'B'" 
                      "INLET-DRIVEWAY BACKPLATE GRATE ONLY" "INLET-DRIVEWAY BACKPLATE" "INLET-DRY WELL GRATE" "INLET-E-6X6" "INLET-E-AT HEADWALL" "INLET-E-DOGHOUSE" "INLET-E" "INLET-STORM SEWER-6X6" 
                      "INLET-TYPE 'A'" "INLET-TYPE 'B'-5X5" "INLET-TYPE 'B'-6X6" "INLET-TYPE 'B'-DOUBLE FRONT CONNECT" "INLET-TYPE 'B'-Extended" "INLET-TYPE 'B'" "INLET-YARD-2X2" "INLET_TRENCHDRAIN_2x2" 
                      "LADDER RUNG" "MANHOLE BASIN-STORM" "MANHOLE-5X5-STORM" "MANHOLE-6X6-STORM" "MANHOLE-7X7-STORM" "MANHOLE-CONNECTION MANHOLE OR INLET-STORM" "MANHOLE-DIVERTER-STORM" "MANHOLE-DOGHOUSE-STORM" 
                      "MANHOLE-GRATE OPEN-STORM" "MANHOLE-GRATE-STORM" "MANHOLE-PRECAST-STORM" "OCS-ABOVE GROUND-NO WING WALLS" "OCS-ABOVE GROUND-WITH WING WALLS UDRAIN 90 DEG NOTCH-XXX" 
                      "OCS-ABOVE GROUND-WITH WING WALLS" "OCS-BELOW GROUND-B INLET-MANHOLE-XXX" "OCS-BELOW GROUND-EINLET-MH-XXX" "OCS-BELOW GROUND-MANHOLE 6X6-MANHOLE-XXX" "OCS-BELOW GROUND-MANHOLE-MANHOLE-XXX" 
                      "OCS-BELOW GROUND-MANHOLE-MANHOLE" "OCS-ORIFACE PLATE" "OCS-TRASH RACK" "PIPE-THRU ALLEN BLOCK WALL-STORM" "RIPRAP" "ROOF DRAIN-INTERIOR WALL-SPLASH BLOCK" "ROOF DRAIN-INTERIOR WALL-T-CLEANOUT"
                      "ROOF DRAIN-SPLASH BLOCK-EXTERIOR" "ROOF DRAIN-SPLASH BLOCK-OVERFLOW-SEEPAGE" "ROOF DRAIN-SPLASH BLOCK-OVERFLOW" "ROOF DRAIN-SPLASHBLOCK-UNDERGROUND" "SAND FILTER-ABOVEGROUND-VERTICAL" 
                      "SAND FILTER-UNDER GROUND" "SEEPAGE PIT" "STONE DRAINAGE BED-XXX" "STORM FILTER-PRECAST-18" "STORM FILTER-PRECAST-23" "STORM FILTER-PRECAST-30" "STORM-ANTI-SEEP-COLLAR" "STORMCEPTOR" 
                      "TRENCH DRAIN" "TRENCH-STORM PIPE"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Utility" '("FIRE HYDRANT" "TRENCH-GENERAL" "TRENCH-WATER" "WATER-COLLAR-CONCRETE-WCASING" "WATER-CONNECTION" "WATER-CROSSING" "WATER-FDC FREESTAND"
                        "WATER-GATE VALVE & BOX" "WATER-POST INDICATOR VALVE DETAIL" "WATER-THRUSTBLOCK" "WATER-TYPICAL-CASING-END SEALS" "WATER-TYPICAL-CASING" "WATER-WETTAP"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Sanitary" '("CLEANOUT-SAN" "CONCRETE CUT OFF WALL" "CROSSING-CONCRETE CRADLE" "CROSSING-CONCRETE ENCASEMENT" "DEEP HOUSE CONNECTION" 
                         "FORCE MAIN TO EXISTING MANHOLE CONNECTION DETAIL" "FORCE MAIN TO MANHOLE CONNECTION WITH DROP INVERT" "LATERAL TO MANHOLE CONNECTION" 
                         "MANHOLE-DOGHOUSE-SANITARY" "MANHOLE-EXTERNAL DROP CONNECTION-SANITARY" "MANHOLE-GRATE-SANITARY" "MANHOLE-INTERNAL DROP CONNECTION-SANITARY" 
                         "MANHOLE-PRECAST-SANITARY" "MANHOLE-SLAB TOP-SANITARY" "SADDLE CONNECTION-TWO WAY" "SADDLE CONNECTION" "SADDLE NOMINAL CONNECTION" "TRENCH-SANITARY"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Landscape" '("BERM-BUFFER" "PLANTING-DECIDUOUS" "PLANTING-EVERGREEN" "PLANTING-PERENNIAL & GROUND COVER" "PLANTING-SHRUB" "PLANTING-STREET-TREE" 
                          "RIVERSTONE-INSTALLATION" "ROOT BARRIER" "SPACING-EVERGREEN" "SPACING-PERENNIAL GROUNDCOVER" "STONE-BED" "TREE-GRATE" "TREE-WELL"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Lighting" '("AREA LIGHT FOUNDATION-FULL CHART" "DECORATIVE LIGHT FOUNDATION-FULL CHART" "LIGHT BOLLARD FOUNDATION" "WALL MOUNTED DECORATIVE" "WALL MOUNTED FIXTURE" "WALL MOUNTED FULL LENS"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Soil Erosion" '("CHAIN LINK CONSTRUCTION FENCE" "CONSTRUCTION FENCE" "EROSION CONTROL BLANKET" "GRATE FILTER" "HAYBALE SEDIMENT BARRIER" "INLET FILTER COMBINED" 
                             "N.J.S.C.D. SEDIMENT CONTROL BAG FOR DEWATERING" "N.J.S.C.D. SUMP PIT FOR EXCAVATION TEMPORARY DEWATERING" "PREFORMED SCOUR HOLE" "ROCK FILTER OUTLET" 
                             "SEDIMENT RISER-PERFORATED-TEMPORARY" "SEDIMENT RISER-TEMPORARY" "SEDIMENT TRAP" "SILT FENCE" "STABILIZED CONSTRUCTION ENTRANCE" "STOCKPILE-TEMPORARY" 
                             "STONE FILTER AT OUTLET STRUCTURE" "STRAW BLANKET ANCHORING" "STRAW BLANKET" "SUPER SILT FENCE" "TREE PROTECTION FENCE" "TRENCH DRAIN FILTER" "TYPE 'E' AND YARD INLET FILTER"))
      ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (list "Detail Border Template" '("Detail Border Template"))
      ; Add more mappings as needed
    )
  )

  ; Find the list of strings corresponding to the selected value
  (setq newItems (cadr (assoc Value comboBoxMapping)))

  ; If a valid mapping is found, set the items in ListBox1
  (if newItems
    (dcl-Control-SetList BlockInsert/Form1/ListBox1 newItems)
    (alert "No items found for the selected option.")
  )
)



;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

;List views & button to add

;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------



(defun c:BlockInsert/Form1/GraphicButton1#OnClicked (/ selectedIndex selectedValue listBox2Items itemExists)
  ; Get the selected index from ListBox1
  (setq selectedIndex (dcl-ListBox-GetCurSel BlockInsert/Form1/ListBox1))
  
  ; Check if an item is selected
  (if (>= selectedIndex 0)
    (progn
      ; Get the text of the selected item
      (setq selectedValue (dcl-ListBox-GetItemText BlockInsert/Form1/ListBox1 selectedIndex))
      
      ; Initialize a flag to check if the item already exists in ListBox2
      (setq itemExists nil)
      
      ; Get the count of items in ListBox2
      (setq listBox2Count (dcl-ListBox-GetCount BlockInsert/Form1/ListBox2))
      
      ; Iterate through ListBox2 items to check for duplicates
      (setq i 0)
      (while (< i listBox2Count)
        (setq currentItem (dcl-ListBox-GetItemText BlockInsert/Form1/ListBox2 i))
        (if (= currentItem selectedValue)
          (setq itemExists t)
        )
        (setq i (1+ i))
      )
      
      ; If the item does not exist, add it to ListBox2
      (if (not itemExists)
        (dcl-ListBox-AddString BlockInsert/Form1/ListBox2 selectedValue)
        (alert "Detail is already in the list")
      )
    )
    (alert "Please select a detail from the list")
  )
)


;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

; remove from list 2 button

;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------


(defun c:BlockInsert/Form1/GraphicButton2#OnClicked (/ selectedIndex)
  ; Get the selected index from ListBox2
  (setq selectedIndex (dcl-ListBox-GetCurSel BlockInsert/Form1/ListBox2))
  
  ; Check if an item is selected
  (if (>= selectedIndex 0)
    (dcl-ListBox-DeleteItem BlockInsert/Form1/ListBox2 selectedIndex)
    (alert "Please select an item from the insert list to remove.")
  )
)


;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

; iNSERT button: will get close the dialogue, get the values, translate them behind the scenes, and insert the blocks. will space
; details out in a grid. 

;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------


(setq blockFileMappings '()) ; Initialize global variable to store mappings

(defun c:BlockInsert/Form1/TextButton2#OnClicked (/)
  ; Close the form
  (dcl-Form-Close BlockInsert/Form1)  
  ; Call the function to map and insert blocks
  (map-and-insert-blocks)  
)

(defun map-and-insert-blocks (/ selectedItems itemCount predefinedList i blockFileMappings)
  ; Initialize an empty list to store selected items
  (setq selectedItems '())
  
; Get the count of items in ListBox2
(setq itemCount (dcl-ListBox-GetCount BlockInsert/Form1/ListBox2))

; Initialize the selectedItems list
(setq selectedItems '())

; Handle case where there's exactly one item in the list
(if (= itemCount 1)
  ; If only one item, directly add it to the selectedItems list
  (setq selectedItems (list (dcl-ListBox-GetItemText BlockInsert/Form1/ListBox2 0)))
  ; Otherwise, handle multiple items
  (progn
    ; Select all items in ListBox2
    (dcl-ListBox-SelItemRange BlockInsert/Form1/ListBox2 0 (1- itemCount) T)
    
    ; Iterate through ListBox2 to get all selected items
    (setq i 0)
    (while (< i itemCount)
      (if (dcl-ListBox-IsItemSelected BlockInsert/Form1/ListBox2 i)
        (setq selectedItems (cons (dcl-ListBox-GetItemText BlockInsert/Form1/ListBox2 i) selectedItems))
      )
      (setq i (1+ i))
    )
  )
)

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;								   ;
  ;			 THIS NEEDS			   ;
  ;			TO BE UPDATED 		   ;
  ;		WITH ALL BLOCK NAMES 	   ;
  ;			AND LOCATIONS		   ;
  ;								   ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  ; Define the predefined list of values and corresponding blocks with file locations
  (setq predefinedList
    (list
      ;---v---------Site---------v---------v---------Site---------v---------v---------Site---------v---------v---------Site---------v------
      (list "ADA-RAMP-FOOTING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-FOOTING.dwg")
      (list "ADA-RAMP-PARALLEL CURB RAMP" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PARALLEL CURB RAMP.DWG")
      (list "ADA-RAMP-PARALLEL CURB-PAVERS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PARALLEL CURB-PAVERS.dwg")
      (list "ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER TRANSITION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER TRANSITION.DWG")
      (list "ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PERPENDICULAR CURB AT BLDG CORNER.DWG")
      (list "ADA-RAMP-PERPENDICULAR CURB AT BLDG" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PERPENDICULAR CURB AT BLDG.dwg")
      (list "ADA-RAMP-PERPENDICULAR CURB WITH FLARE SIDES" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PERPENDICULAR CURB WITH FLARE SIDES.dwg")
      (list "ADA-RAMP-PERPENDICULAR CURB" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-PERPENDICULAR CURB.dwg")
      (list "ADA-RAMP-SWITCHBACK WITH HANDRAIL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-SWITCHBACK WITH HANDRAIL.dwg")
      (list "ADA-RAMP-WITH HANDRAIL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-RAMP-WITH HANDRAIL.dwg")
      (list "ADA-SIGN ON BOLLARD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-SIGN ON BOLLARD.dwg")
      (list "ADA-SIGN ON WALL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-SIGN ON WALL.dwg")
      (list "ADA-SIGN WITH EV ON BOLLARD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-SIGN WITH EV ON BOLLARD.dwg")
      (list "ADA-SIGN WITH VAN & PENALTY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-SIGN WITH VAN & PENALTY.dwg")
      (list "ADA-STRIPING-LOGO" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-LOGO.dwg")
      (list "ADA-STRIPING-SPACE & ACCESS ANGLED-HAIRPIN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS ANGLED-HAIRPIN.DWG")
      (list "ADA-STRIPING-SPACE & ACCESS ANGLED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS ANGLED.dwg")
      (list "ADA-STRIPING-SPACE & ACCESS-C11" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS-C11.dwg")
      (list "ADA-STRIPING-SPACE & ACCESS-HAIRPIN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS-HAIRPIN.dwg")
      (list "ADA-STRIPING-SPACE & ACCESS-WALL SIGN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS-WALL SIGN.dwg")
      (list "ADA-STRIPING-SPACE & ACCESS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-STRIPING-SPACE & ACCESS.dwg")
      (list "ADA-TRUNCATED DOME" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ADA-TRUNCATED DOME.dwg")
      (list "BIKE RACK-U SHAPED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BIKE RACK-U SHAPED.dwg")
      (list "BIKE RACK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BIKE RACK.dwg")
      (list "BOLLARD-4 INCH DIA-4 FT HT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BOLLARD-4 INCH DIA-4 FT HT .dwg")
      (list "BOLLARD-4 INCH-3 FT HT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BOLLARD-4 INCH-3 FT HT.dwg")
      (list "BOLLARD-6 INCH-4 FT HT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BOLLARD-6 INCH-4 FT HT.DWG")
      (list "BOLLARD-ARCH" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BOLLARD-ARCH.dwg")
      (list "BOLLARD-U" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BOLLARD-U.dwg")
      (list "BULK HEAD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\BULK HEAD.dwg")
      (list "CHAIN LINK-SINGLE-GATE WITH PRIVACY SLATS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CHAIN LINK-SINGLE -GATE WITH PRIVACY SLATS.dwg")
      (list "CONCRETE PAD-CONTROL JOINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CONCRETE PAD-CONTROL JOINT.dwg")
      (list "CONCRETE PAD-DUMPSTER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CONCRETE PAD-DUMPSTER.dwg")
      (list "CONCRETE PAD-HEAVY DUTY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CONCRETE PAD-HEAVY DUTY.dwg")
      (list "CONCRETE PAD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CONCRETE PAD.dwg")
      (list "CURB-ASPHALT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-ASPHALT.dwg")
      (list "CURB-BELGIAN BLOCK-6 INCH" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-6 INCH.dwg")
      (list "CURB-BELGIAN BLOCK-AT CONC WALK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-AT CONC WALK.dwg")
      (list "CURB-BELGIAN BLOCK-CURB CUT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-CURB CUT.dwg")
      (list "CURB-BELGIAN BLOCK-DEPRESSED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-DEPRESSED.DWG")
      (list "CURB-BELGIAN BLOCK-FLUSH" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-FLUSH.dwg")
      (list "CURB-BELGIAN BLOCK-TAPER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-BELGIAN BLOCK-TAPER.dwg")
      (list "CURB-CONCRETE AND SIDEWALK WITH KEYWAY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE AND SIDEWALK WITH KEYWAY.dwg")
      (list "CURB-CONCRETE CURB & GUTTER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE CURB & GUTTER.dwg")
      (list "CURB-CONCRETE-12 INCH" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-12 INCH.dwg")
      (list "CURB-CONCRETE-6 INCH & FLUSH" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-6 INCH & FLUSH.dwg")
      (list "CURB-CONCRETE-CURB CUT TAPER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-CURB CUT TAPER.dwg")
      (list "CURB-CONCRETE-DEPRESSED AT DRIVEWAY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-DEPRESSED AT DRIVEWAY.dwg")
      (list "CURB-CONCRETE-DEPRESSED WITH APRON AT DRIVEWAY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-DEPRESSED WITH APRON AT DRIVEWAY.dwg")
      (list "CURB-CONCRETE-DROPPED WITH CRADDLE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-DROPPED WITH CRADDLE.dwg")
      (list "CURB-CONCRETE-MOUNTABLE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-MOUNTABLE.dwg")
      (list "CURB-CONCRETE-SLOPED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-SLOPED.dwg")
      (list "CURB-CONCRETE-VERTICAL TAPER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-VERTICAL TAPER.dwg")
      (list "CURB-CONCRETE-VERTICAL-FACEFORM" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CONCRETE-VERTICAL-FACEFORM.dwg")
      (list "CURB-CURB CUT TAPER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-CURB CUT TAPER.dwg")
      (list "CURB-GRANITE BLOCK-RSIS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-GRANITE BLOCK-RSIS.dwg")
      (list "CURB-GRANITE-MOUNTABLE-RSIS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-GRANITE-MOUNTABLE-RSIS.dwg")
      (list "CURB-MONOLITHIC & SIDEWALK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\CURB-MONOLITHIC & SIDEWALK.dwg")
      (list "FENCE-ALUMINUM PICKET WITH BRICK COLUMN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-ALUMINUM PICKET WITH BRICK COLUMN.dwg")
      (list "FENCE-ALUMINUM PICKET WITH GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-ALUMINUM PICKET WITH GATE.dwg")
      (list "FENCE-ALUMINUM PICKET" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-ALUMINUM PICKET.dwg")
      (list "FENCE-BOARD ON BOARD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-BOARD ON BOARD.dwg")
      (list "FENCE-CHAIN LINK WITH BRACING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-CHAIN LINK WITH BRACING.dwg")
      (list "FENCE-CHAIN LINK WITH GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-CHAIN LINK WITH GATE.dwg")
      (list "FENCE-CHAIN LINK-BARBED WIRE WITH GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-CHAIN LINK-BARBED WIRE WITH GATE.dwg")
      (list "FENCE-CHAIN LINK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-CHAIN LINK.dwg")
      (list "FENCE-PICKET-4FT GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-PICKET-4FT GATE.dwg")
      (list "FENCE-PICKET-8FT GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-PICKET-8FT GATE.dwg")
      (list "FENCE-POST & RAIL-VINYL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-POST & RAIL-VINYL.dwg")
      (list "FENCE-POST & RAIL-WOOD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-POST & RAIL-WOOD.dwg")
      (list "FENCE-PVC" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-PVC.dwg")
      (list "FENCE-STOCKADE-8FT GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-STOCKADE-8FT GATE.dwg")
      (list "FENCE-STOCKADE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-STOCKADE.dwg")
      (list "FENCE-TEMP-CHAIN-LINK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-TEMP-CHAIN-LINK.dwg")
      (list "FENCE-VINYL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-VINYL.DWG")
      (list "FENCE-WOOD-SOUNDWALL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-WOOD-SOUNDWALL.dwg")
      (list "FENCE-WOOD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FENCE-WOOD.dwg")
      (list "FIRE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\FIRE GATE.dwg")
      (list "GRAVEL-PARKING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\GRAVEL-PARKING.dwg")
      (list "GRAVEL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\GRAVEL.dwg")
      (list "GUIDERAIL-AESTHETIC" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\GUIDERAIL-AESTHETIC.dwg")
      (list "GUIDERAIL-GALVANIZED STEEL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\GUIDERAIL-GALVANIZED STEEL.dwg")
      (list "GUIDERAIL-TIMBER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\GUIDERAIL-TIMBER.dwg")
      (list "ISOLATION JOINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\ISOLATION JOINT.dwg")
      (list "JERSEY-BARRIER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\JERSEY-BARRIER.dwg")
      (list "PAVEMENT-ASPHALT-PERVIOUS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-ASPHALT-PERVIOUS.dwg")
      (list "PAVEMENT-ASPHALT-RESIDENTIAL DRIVEWAY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-ASPHALT-RESIDENTIAL DRIVEWAY.dwg")
      (list "PAVEMENT-ASPHALT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-ASPHALT.dwg")
      (list "PAVEMENT-CONCRETE-ASPHALT-TRANSITION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-ASPHALT-TRANSITION.DWG")
      (list "PAVEMENT-CONCRETE-ASPHALTIC-TAPER-STRIP" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-ASPHALTIC-TAPER-STRIP.dwg")
      (list "PAVEMENT-CONCRETE-EXPANSION JOINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-EXPANSION JOINT.dwg")
      (list "PAVEMENT-CONCRETE-ISOLATION JOINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-ISOLATION JOINT.dwg")
      (list "PAVEMENT-CONCRETE-PAD JOINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-PAD JOINT.dwg")
      (list "PAVEMENT-CONCRETE-PERVIOUS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-PERVIOUS.dwg")
      (list "PAVEMENT-CONCRETE-STANDARD" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-CONCRETE-STANDARD.dwg")
      (list "PAVEMENT-EXPANSION-JOINT-DOWELED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-EXPANSION-JOINT-DOWELED.dwg")
      (list "PAVEMENT-HEAVY-DUTY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-HEAVY-DUTY.dwg")
      (list "PAVEMENT-MILLING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-MILLING.dwg")
      (list "PAVEMENT-PAVER-PERVIOUS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-PAVER-PERVIOUS.dwg")
      (list "PAVEMENT-REPAIR" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVEMENT-REPAIR.dwg")
      (list "PAVER-ECO" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVER-ECO.dwg")
      (list "PAVER-GRASS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\PAVER-GRASS.dwg")
      (list "SIDEWALK-ASPHALT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-ASPHALT.dwg")
      (list "SIDEWALK-CONCRETE-AT BUILDING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-CONCRETE-AT BUILDING.dwg")
      (list "SIDEWALK-CONCRETE-FLUSH CURB" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-CONCRETE-FLUSH CURB.dwg")
      (list "SIDEWALK-CONCRETE-RAISED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-CONCRETE-RAISED.dwg")
      (list "SIDEWALK-CONCRETE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-CONCRETE.DWG")
      (list "SIDEWALK-INTERLOCKING-CONCRETE PAVERS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-INTERLOCKING-CONCRETE PAVERS.dwg")
      (list "SIDEWALK-PERVIOUS-CONCRETE PAVERS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-PERVIOUS-CONCRETE PAVERS.DWG")
      (list "SIDEWALK-SCORED CONCRETE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-SCORED CONCRETE.dwg")
      (list "SIDEWALK-STAMPED CONCRETE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-STAMPED CONCRETE.dwg")
      (list "SIDEWALK-WAFFLE PAVER STONE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIDEWALK-WAFFLE PAVER STONE.dwg")
      (list "SIGN-DO NOT BLOCK CROSSWALK SIGN DETAIL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGN-DO NOT BLOCK CROSSWALK SIGN DETAIL.dwg")
      (list "SIGN-MONUMENT-FOOTING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGN-MONUMENT-FOOTING.dwg")
      (list "SIGN-POST FOOTING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGN-POST FOOTING.dwg")
      (list "SIGN-POST" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGN-POST.dwg")
      (list "SIGN-VISITOR-PARKING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGN-VISITOR-PARKING.dwg")
      (list "SIGNS-COMPACT-CARS ONLY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-COMPACT-CARS ONLY.dwg")
      (list "SIGNS-CUSTOMER-PARKING ONLY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-CUSTOMER-PARKING ONLY.dwg")
      (list "SIGNS-EMPLOYEE-PARKING ONLY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-EMPLOYEE-PARKING ONLY.dwg")
      (list "SIGNS-EV-CHARGING-STATION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-EV-CHARGING-STATION.dwg")
      (list "SIGNS-FIRE LANE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-FIRE LANE.dwg")
      (list "SIGNS-LOADING ZONE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-LOADING ZONE.dwg")
      (list "SIGNS-NO IDLING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-NO IDLING.dwg")
      (list "SIGNS-NO PARKING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-NO PARKING.dwg")
      (list "SIGNS-SHARED ZONE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-SHARED ZONE.dwg")
      (list "SIGNS-STREET-ID" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SIGNS-STREET-ID.dwg")
      (list "SPEED BUMP-ASPHALT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SPEED BUMP-ASPHALT.dwg")
      (list "SPEED HUMP-TRAFFIC CALMING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\SPEED HUMP-TRAFFIC CALMING.dwg")
      (list "STAIRS-CONCRETE-CHEEK WALLS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STAIRS-CONCRETE-CHEEK WALLS.dwg")
      (list "STAIRS-CONCRETE-WITHOUT CHEEK WALLS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STAIRS-CONCRETE-WITHOUT CHEEK WALLS.dwg")
      (list "STRIPING-CROSSWALKS-PAINT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-CROSSWALKS-PAINT.dwg")
      (list "STRIPING-CROSSWALKS-THERMOPLASTIC" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-CROSSWALKS-THERMOPLASTIC.dwg")
      (list "STRIPING-DO NOT ENTER" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-DO NOT ENTER.dwg")
      (list "STRIPING-EV-CHARGE-STATION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-EV-CHARGE-STATION.dwg")
      (list "STRIPING-FIRE LANE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-FIRE LANE.dwg")
      (list "STRIPING-FIRE ZONE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-FIRE ZONE.dwg")
      (list "STRIPING-PAINTED MARKINGS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-PAINTED MARKINGS.dwg")
      (list "STRIPING-STALL-30 DEGREES" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STALL-30 DEGREES.dwg")
      (list "STRIPING-STALL-HAIRPIN-ANGLED" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STALL-HAIRPIN-ANGLED.DWG")
      (list "STRIPING-STALL-HAIRPIN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STALL-HAIRPIN.DWG")
      (list "STRIPING-STALL-PARALLEL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STALL-PARALLEL.DWG")
      (list "STRIPING-STALL" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STALL.DWG")
      (list "STRIPING-STOP BAR-CROSSWALK INTERSECTION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STOP BAR-CROSSWALK INTERSECTION.dwg")
      (list "STRIPING-STOP BAR-INTERSECTION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\STRIPING-STOP BAR-INTERSECTION.dwg")
      (list "TRASH-BOARD ON BOARD-DOUBLE CHAIN LINK GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-BOARD ON BOARD-DOUBLE CHAIN LINK GATE.dwg")
      (list "TRASH-BOARD ON BOARD-DOUBLE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-BOARD ON BOARD-DOUBLE GATE.dwg")
      (list "TRASH-BOARD ON BOARD-SINGLE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-BOARD ON BOARD-SINGLE GATE.dwg")
      (list "TRASH-CHAIN LINK-DOUBLE GATE-ELEVATIONS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CHAIN LINK-DOUBLE GATE-ELEVATIONS.dwg")
      (list "TRASH-CHAIN LINK-DOUBLE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CHAIN LINK-DOUBLE GATE.dwg")
      (list "TRASH-CHAIN LINK-DOUBLE-GATE WITH PRIVACY SLATS" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CHAIN LINK-DOUBLE-GATE WITH PRIVACY SLATS.dwg")
      (list "TRASH-CONCRETE-BOARD ON BOARD WITH GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CONCRETE-BOARD ON BOARD WITH GATE.dwg")
      (list "TRASH-CONCRETE-CHAIN LINK WITH GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CONCRETE-CHAIN LINK WITH GATE.dwg")
      (list "TRASH-CONCRETE-ROOF" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CONCRETE-ROOF.dwg")
      (list "TRASH-CONCRETE-SINGLE BOARD ON BOARD GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CONCRETE-SINGLE BOARD ON BOARD GATE.dwg")
      (list "TRASH-CONCRETE-SINGLE CHAIN LINK GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-CONCRETE-SINGLE CHAIN LINK GATE.dwg")
      (list "TRASH-GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-GATE.dwg")
      (list "TRASH-STOCKADE-DOUBLE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-STOCKADE-DOUBLE GATE.dwg")
      (list "TRASH-STOCKADE-SINGLE GATE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\TRASH-STOCKADE-SINGLE GATE.dwg")
      (list "WALL-CONCRETE-BLOCK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-CONCRETE-BLOCK.dwg")
      (list "WALL-CONCRETE-RETAINING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-CONCRETE-RETAINING.DWG")
      (list "WALL-CROSS SECTION" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-CROSS SECTION.dwg")
      (list "WALL-GRAVITY-BLOCK-RETAINING" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-GRAVITY-BLOCK-RETAINING.DWG")
      (list "WALL-MASONRY-BLOCK-SCREEN" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-MASONRY-BLOCK-SCREEN.dwg")
      (list "WALL-MODULAR BLOCK" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-MODULAR BLOCK.dwg")
      (list "WALL-SEDIMENT-FOREBAY" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WALL-SEDIMENT-FOREBAY.dwg")
      (list "WHEELSTOP-CONCRETE POURED IN PLACE" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WHEELSTOP-CONCRETE POURED IN PLACE.dwg")
      (list "WHEELSTOP-REBAR IN PAVEMENT" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\WHEELSTOP-REBAR IN PAVEMENT.dwg")
      ;---v---------Signs---------v---------v---------Signs---------v---------v---------Signs---------v---------v---------Signs---------v------
      (list "R01-01-Stop" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R01-01-Stop.dwg")
      (list "R01-02-Yield" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R01-02-Yield.dwg")
      (list "R01-03-4 Way Stop" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R01-03-4 Way Stop.dwg")
      (list "R01-04-Allway Stop" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R01-04-Allway Stop.dwg")
      (list "R02-1-Speed Limit X" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-1-Speed Limit X.dwg")
      (list "R02-2-Speed X Truck" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-2-Speed X Truck.dwg")
      (list "R02-3-Speed X Night" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-3-Speed X Night.dwg")
      (list "R02-4-Speed Min X" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-4-Speed Min X.dwg")
      (list "R02-4A-Speed Limit X Min X" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-4A-Speed Limit X Min X.dwg")
      (list "R02-5A-Speed Reduce Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-5A-Speed Reduce Ahead.dwg")
      (list "R02-5B-Speed Reduce X" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-5B-Speed Reduce X.dwg")
      (list "R02-5C-Speed Zone" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R02-5C-Speed Zone.dwg")
      (list "R03-01-No Right Turn" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-01-No Right Turn.dwg")
      (list "R03-02-No Left Turn" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-02-No Left Turn.dwg")
      (list "R03-03-No Turns" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-03-No Turns.dwg")
      (list "R03-04-No U Turn" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-04-No U Turn.dwg")
      (list "R03-05-Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-05-Lane Right Only.dwg")
      (list "R03-05L-Lane Left Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-05L-Lane Left Only.dwg")
      (list "R03-06-Lane Left Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-06-Lane Left Thru.dwg")
      (list "R03-07L-Lane Must Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-07L-Lane Must Left.dwg")
      (list "R03-07R-Lane Must Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-07R-Lane Must Right.dwg")
      (list "R03-08-Lane Left Only Lane Left Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08-Lane Left Only Lane Left Thru.dwg")
      (list "R03-08A-Lane Left Only Lane Left Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08A-Lane Left Only Lane Left Right.dwg")
      (list "R03-08B-Lane Left Only Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08B-Lane Left Only Lane Right Only.dwg")
      (list "R03-08C-Lane Left Only Lane Left Thru Lane Right Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08C-Lane Left Only Lane Left Thru Lane Right Thru.dwg")
      (list "R03-08D-Lane Left Only Lane Left Only Lane Thru Only Lane Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08D-Lane Left Only Lane Left Only Lane Thru Only Lane Thru.dwg")
      (list "R03-08E-Lane Thru Lane Thru Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08E-Lane Thru Lane Thru Lane Right Only.dwg")
      (list "R03-08F-Lane Left Only Lane Thru Lane Thru Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08F-Lane Left Only Lane Thru Lane Thru Lane Thru Right.dwg")
      (list "R03-08G-Lane Left Only Lane Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08G-Lane Left Only Lane Thru.dwg")
      (list "R03-08H-Lane Thru Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08H-Lane Thru Lane Right Only.dwg")
      (list "R03-08K-Lane Left Only Lane Thru Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08K-Lane Left Only Lane Thru Lane Thru Right.dwg")
      (list "R03-08L-Lane Left Only Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08L-Lane Left Only Lane Thru Right.dwg")
      (list "R03-08M-Lane Thru Lane Thru Lane Thru Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08M-Lane Thru Lane Thru Lane Thru Lane Thru Right.dwg")
      (list "R03-08N-Lane Thru Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08N-Lane Thru Lane Thru Right.dwg")
      (list "R03-08P-Lane Thru Lane Thru Lane Thru Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08P-Lane Thru Lane Thru Lane Thru Right.dwg")
      (list "R03-08Q-Lane Left Only Lane Thru Only Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08Q-Lane Left Only Lane Thru Only Lane Right Only.dwg")
      (list "R03-08R-Lane Left Thru Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08R-Lane Left Thru Lane Right Only.dwg")
      (list "R03-08S-Lane Left Only Lane Thru Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08S-Lane Left Only Lane Thru Lane Right Only.dwg")
      (list "R03-08T-Lane Left Only Lane Thru Lane Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08T-Lane Left Only Lane Thru Lane Thru.dwg")
      (list "R03-08U-Lane Left Only Lane Thru Lane Right Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-08U-Lane Left Only Lane Thru Lane Right Only.dwg")
      (list "R03-09A-Lane Left Right Opposing" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-09A-Lane Left Right Opposing.dwg")
      (list "R03-09B-Lane Center Lefts Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-09B-Lane Center Lefts Only.dwg")
      (list "R03-10-Lane Restricted Vert" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-10-Lane Restricted Vert.dwg")
      (list "R03-11-Lane Bus Carpools Vert" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-11-Lane Bus Carpools Vert.dwg")
      (list "R03-12-Lane Restricted Ends Vert" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-12-Lane Restricted Ends Vert.dwg")
      (list "R03-13-Lane Restricted Ahead Horiz" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-13-Lane Restricted Ahead Horiz.dwg")
      (list "R03-14-Lane Bus Carpools Horiz" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-14-Lane Bus Carpools Horiz.dwg")
      (list "R03-15-Lane Restricted Ends Horiz" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R03-15-Lane Restricted Ends Horiz.dwg")
      (list "R04-01-Do Not Pass" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-01-Do Not Pass.dwg")
      (list "R04-02-Pass With Care" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-02-Pass With Care.dwg")
      (list "R04-03-Slow Traffic" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-03-Slow Traffic.dwg")
      (list "R04-05-Trucks Right Lane" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-05-Trucks Right Lane.dwg")
      (list "R04-06-Truck Lane 500 Feet" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-06-Truck Lane 500 Feet.dwg")
      (list "R04-07-Lane Shift Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-07-Lane Shift Right.dwg")
      (list "R04-07A-Keep Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-07A-Keep Right.dwg")
      (list "R04-07B-Keep Right at 45" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-07B-Keep Right at 45.dwg")
      (list "R04-08-Lane Shift Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R04-08-Lane Shift Left.dwg")
      (list "R05-01-Do Not Enter" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-01-Do Not Enter.dwg")
      (list "R05-01A-Wrong Way" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-01A-Wrong Way.dwg")
      (list "R05-02-No Trucks" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-02-No Trucks.dwg")
      (list "R05-03-No Vehicles" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-03-No Vehicles.dwg")
      (list "R05-03M-No Exit Emergency Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-03M-No Exit Emergency Only.dwg")
      (list "R05-04-No Commercial Vehicles" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-04-No Commercial Vehicles.dwg")
      (list "R05-05-Lugs Prohibited" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-05-Lugs Prohibited.dwg")
      (list "R05-06-No Bicycles" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-06-No Bicycles.dwg")
      (list "R05-10A-No Peds Cycles Motorcycles" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-10A-No Peds Cycles Motorcycles.dwg")
      (list "R05-10B-No Peds Bicycles" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-10B-No Peds Bicycles.dwg")
      (list "R05-10C-No Peds" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-10C-No Peds.dwg")
      (list "R05-2A" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R05-2A.dwg")
      (list "R06-01L-One Way Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R06-01L-One Way Left.dwg")
      (list "R06-01R-One Way Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R06-01R-One Way Right.dwg")
      (list "R06-02-One Way Right Vert" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R06-02-One Way Right Vert.dwg")
      (list "R06-03-Divided Highway Thru" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R06-03-Divided Highway Thru.dwg")
      (list "R06-03A-Divided Highway" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R06-03A-Divided Highway.dwg")
      (list "R07-01-No Parking Left Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-01-No Parking Left Right.dwg")
      (list "R07-01A-No Parking Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-01A-No Parking Right.dwg")
      (list "R07-01B-No Parking Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-01B-No Parking Left.dwg")
      (list "R07-02A-No Parking Time" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-02A-No Parking Time.dwg")
      (list "R07-04-No Standing Left Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-04-No Standing Left Right.dwg")
      (list "R07-05-One Hour Parking" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-05-One Hour Parking.dwg")
      (list "R07-08-ADA Parking" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-08-ADA Parking.dwg")
      (list "R07-107-No Parking Bus Stop Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-107-No Parking Bus Stop Right.dwg")
      (list "R07-107A-No Parking Bus Stop Right Symbol" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-107A-No Parking Bus Stop Right Symbol.dwg")
      (list "R07-107M-No Parking Bus Stop Left Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-107M-No Parking Bus Stop Left Right.dwg")
      (list "R07-108-Two Hour Parking" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-108-Two Hour Parking.dwg")
      (list "R07-201A-Tow Away Zone" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-201A-Tow Away Zone.dwg")
      (list "R07-4L-No Stop Stand Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-4L-No Stop Stand Left.dwg")
      (list "R07-4R-No Stop Stand Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-4R-No Stop Stand Right.dwg")
      (list "R07-4X-No Stop Stand Both" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R07-4X-No Stop Stand Both.dwg")
      (list "R08-01-No Parking Pavement" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-01-No Parking Pavement.dwg")
      (list "R08-02-No Parking Shoulder Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-02-No Parking Shoulder Only.dwg")
      (list "R08-03-No Parking" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-03-No Parking.dwg")
      (list "R08-03A-No Parking Symbol" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-03A-No Parking Symbol.dwg")
      (list "R08-03AB-No Parking Supplemental Sign Bridge" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-03AB-No Parking Supplemental Sign Bridge.dwg")
      (list "R08-03AP-No Parking Supplemental Sign Pavement" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-03AP-No Parking Supplemental Sign Pavement.dwg")
      (list "R08-04-Emergency Parking Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-04-Emergency Parking Only.dwg")
      (list "R08-05-No Stopping Pavement" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-05-No Stopping Pavement.dwg")
      (list "R08-06-No Stopping Shoulder Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-06-No Stopping Shoulder Only.dwg")
      (list "R08-07-Emergency Stopping Only" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-07-Emergency Stopping Only.dwg")
      (list "R08-08-Do Not Stop On Tracks" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R08-08-Do Not Stop On Tracks.dwg")
      (list "R09-01-No Hitchhiking" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R09-01-No Hitchhiking.dwg")
      (list "R09-02-Crosswalk Cross" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R09-02-Crosswalk Cross.dwg")
      (list "R09-03A-No Pedestrians" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R09-03A-No Pedestrians.dwg")
      (list "R09-03BL-Crosswalk Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R09-03BL-Crosswalk Left.dwg")
      (list "R09-03BR-Crosswalk Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R09-03BR-Crosswalk Right.dwg")
      (list "R1-5B-Stop Here For Pedestrians" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R1-5B-Stop Here For Pedestrians.dwg")
      (list "R1-5C-Stop Here For Pedestrians" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R1-5C-Stop Here For Pedestrians.dwg")
      (list "R10-00B-No Turn on Red Horiz" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-00B-No Turn on Red Horiz.dwg")
      (list "R10-01-Crosswalk On Green" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-01-Crosswalk On Green.dwg")
      (list "R10-02A-Crosswalk On Ped Signal" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-02A-Crosswalk On Ped Signal.dwg")
      (list "R10-03-Crosswalk Push For Green Light" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-03-Crosswalk Push For Green Light.dwg")
      (list "R10-04-Crosswalk Push For Walk Signal" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-04-Crosswalk Push For Walk Signal.dwg")
      (list "R10-04B-Crosswalk Push For Ped Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-04B-Crosswalk Push For Ped Right.dwg")
      (list "R10-04BL-Crosswalk Push For Ped Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-04BL-Crosswalk Push For Ped Left.dwg")
      (list "R10-05-Left On Green Arrow" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-05-Left On Green Arrow.dwg")
      (list "R10-06-Stop Here On Red" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-06-Stop Here On Red.dwg")
      (list "R10-07-Do Not Block Intersection" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-07-Do Not Block Intersection.dwg")
      (list "R10-08-Use Green Arrow Lane" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-08-Use Green Arrow Lane.dwg")
      (list "R10-11A-No Turn On Red Vert" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-11A-No Turn On Red Vert.dwg")
      (list "R10-11B-No Turn On Red Horiz" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-11B-No Turn On Red Horiz.dwg")
      (list "R10-12-LeftTurn Yield On Green" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-12-LeftTurn Yield On Green.dwg")
      (list "R10-13A-Delayed Green" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R10-13A-Delayed Green.dwg")
      (list "R11-1-Keep Off Median" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R11-1-Keep Off Median.dwg")
      (list "R11-2-Road Closed" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R11-2-Road Closed.dwg")
      (list "R11-3A-Road Closed XMiles Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R11-3A-Road Closed XMiles Ahead.dwg")
      (list "R11-4-Road Closed To Thru Traffic" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R11-4-Road Closed To Thru Traffic.dwg")
      (list "R12-1-Wt Limit XTons" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R12-1-Wt Limit XTons.dwg")
      (list "R12-2-Axle Wt Limit XTons" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R12-2-Axle Wt Limit XTons.dwg")
      (list "R12-3-No Trucks Over XWt" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R12-3-No Trucks Over XWt.dwg")
      (list "R12-4-Wt LimitX Tons XGross Tons" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R12-4-Wt LimitX Tons XGross Tons.dwg")
      (list "R12-5-Wt Limit 3 Trucks" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R12-5-Wt Limit 3 Trucks.dwg")
      (list "R14-1-Truck Route" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\R14-1-Truck Route.dwg")
      (list "Wetlands Sign" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\R-Signs\\Wetlands Sign.dwg")
      (list "W01-01L-Left 90 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-01L-Left 90 Deg.dwg")
      (list "W01-01R-Right 90 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-01R-Right 90 Deg.dwg")
      (list "W01-02L-Left 60 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-02L-Left 60 Deg.dwg")
      (list "W01-02R-Right 60 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-02R-Right 60 Deg.dwg")
      (list "W01-03L-Left Right 90 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-03L-Left Right 90 Deg.dwg")
      (list "W01-03R-Right Left 90 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-03R-Right Left 90 Deg.dwg")
      (list "W01-04L-Left Right 60 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-04L-Left Right 60 Deg.dwg")
      (list "W01-04R-Right Left 60 Deg" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-04R-Right Left 60 Deg.dwg")
      (list "W01-05-Sturn" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-05-Sturn.dwg")
      (list "W01-06L-Left Arrow" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-06L-Left Arrow.dwg")
      (list "W01-06R-Right Arrow" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-06R-Right Arrow.dwg")
      (list "W01-07-Two Way Traffic Arrow" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-07-Two Way Traffic Arrow.dwg")
      (list "W01-08L-Keep Left Arrow" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-08L-Keep Left Arrow.dwg")
      (list "W01-08R-Keep Right Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W01-08R-Keep Right Ahead.dwg")
      (list "W02-01-Intersection" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W02-01-Intersection.dwg")
      (list "W02-02-T Intersection Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W02-02-T Intersection Right.dwg")
      (list "W02-03-Fork Intersection" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W02-03-Fork Intersection.dwg")
      (list "W02-04-T Intersection Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W02-04-T Intersection Ahead.dwg")
      (list "W02-05-Y Intersection" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W02-05-Y Intersection.dwg")
      (list "W03-03-Signal Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W03-03-Signal Ahead.dwg")
      (list "W03-1A-Stop Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W03-1A-Stop Ahead.dwg")
      (list "W03-2A-Yield Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W03-2A-Yield Ahead.dwg")
      (list "W04-01-Merge Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W04-01-Merge Right.dwg")
      (list "W04-03-Merge Right Two Lanes" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W04-03-Merge Right Two Lanes.dwg")
      (list "W05-01-Road Narrows" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W05-01-Road Narrows.dwg")
      (list "W05-02-Narrow Bridge" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W05-02-Narrow Bridge.dwg")
      (list "W05-02A-Narrow Lanes" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W05-02A-Narrow Lanes.dwg")
      (list "W05-03-One Lane Bridge" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W05-03-One Lane Bridge.dwg")
      (list "W06-01-Divider Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W06-01-Divider Ahead.dwg")
      (list "W06-02-Divider Ends" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W06-02-Divider Ends.dwg")
      (list "W06-03-Two Way Traffic No Divider" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W06-03-Two Way Traffic No Divider.dwg")
      (list "W07-01-Steep Downhill Grade" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W07-01-Steep Downhill Grade.dwg")
      (list "W07-01B-Steep Downhill Grade 8%" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W07-01B-Steep Downhill Grade 8%.dwg")
      (list "W08-01-Bump Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W08-01-Bump Ahead.dwg")
      (list "W08-02-Dip Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W08-02-Dip Ahead.dwg")
      (list "W08-03-Pavement Ends" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W08-03-Pavement Ends.dwg")
      (list "W08-04-Soft Shoulder" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W08-04-Soft Shoulder.dwg")
      (list "W09-01L-Left Lane Ends Text" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W09-01L-Left Lane Ends Text.dwg")
      (list "W09-01R-Right Lane Ends Text" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W09-01R-Right Lane Ends Text.dwg")
      (list "W09-02L-Lane Ends Merge Left" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W09-02L-Lane Ends Merge Left.dwg")
      (list "W09-02R-Lane Ends Merge Right" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W09-02R-Lane Ends Merge Right.dwg")
      (list "W10-01-Railroad Crossing" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W10-01-Railroad Crossing.dwg")
      (list "W11-02-Pedestrian Crossing Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W11-02-Pedestrian Crossing Ahead.dwg")
      (list "W11-02-Pedestrian Crossing" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W11-02-Pedestrian Crossing.dwg")
      (list "W11-08-Firehouse Ahead" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W11-08-Firehouse Ahead.dwg")
      (list "W11A-02-Pedestriant Crossing Crosswalk" "L:\\CAD DETAILS\\New Jersey\\Site\\Details\\W-Signs\\W11A-02-Pedestriant Crossing Crosswalk.dwg")
      ;---v---------storm---------v---------v---------storm---------v---------v---------storm---------v---------v---------storm---------v------
      (list "BASIN-UNDERGROUND-MANHOLE-5X5" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\BASIN-UNDERGROUND-MANHOLE-5X5.dwg")
      (list "BASIN-UNDERGROUND-PIPEBED" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\BASIN-UNDERGROUND-PIPEBED.dwg")
      (list "CATCH BASIN HOOD DETAIL" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\CATCH BASIN HOOD DETAIL.dwg")
      (list "CLEANOUT-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\CLEANOUT-STORM.dwg")
      (list "CONTECH FLUIDIC-CONE HYDROBRAKE MODEL FC9B WITH PLATE ATTACHMENT AND BOX INLET" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\CONTECH FLUIDIC-CONE HYDROBRAKE MODEL FC9B WITH PLATE ATTACHMENT AND BOX INLET.dwg")
      (list "CONTECH-CHART" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\CONTECH-CHART.dwg")
      (list "DAM WITH CLAY CORE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\DAM WITH CLAY CORE.dwg")
      (list "FLARED END SECTION-CONCRETE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\FLARED END SECTION-CONCRETE.DWG")
      (list "GATE VAULT-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\GATE VAULT-STORM.dwg")
      (list "HEADER PIPE-REDUCER HDPE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\HEADER PIPE-REDUCER HDPE.dwg")
      (list "HEADER PIPE-RISER CO HDPE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\HEADER PIPE-RISER CO HDPE.dwg")
      (list "HEADWALL-PRECAST CONCRETE WITH WINGS" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\HEADWALL-PRECAST CONCRETE WITH WINGS.DWG")
      (list "HEADWALL-PRECAST CONCRETE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\HEADWALL-PRECAST CONCRETE.DWG")
      (list "INLET-B-EXTENDED" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-B-EXTENDED.dwg")
      (list "INLET-B-HOOD" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-B-HOOD.dwg")
      (list "INLET-B-J-ECO" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-B-J-ECO.DWG")
      (list "INLET-B-N-ECO" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-B-N-ECO.DWG")
      (list "INLET-B-UGROUNDBASIN-5X5" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-B-UGROUNDBASIN-5X5.DWG")
      (list "INLET-D-N-ECO" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-D-N-ECO.dwg")
      (list "INLET-D" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-D.dwg")
      (list "INLET-DOGHOUSE 'B'" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-DOGHOUSE 'B'.DWG")
      (list "INLET-DRIVEWAY BACKPLATE GRATE ONLY" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-DRIVEWAY BACKPLATE GRATE ONLY.dwg")
      (list "INLET-DRIVEWAY BACKPLATE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-DRIVEWAY BACKPLATE.dwg")
      (list "INLET-DRY WELL GRATE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-DRY WELL GRATE.dwg")
      (list "INLET-E-6X6" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-E-6X6.dwg")
      (list "INLET-E-AT HEADWALL" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-E-AT HEADWALL.dwg")
      (list "INLET-E-DOGHOUSE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-E-DOGHOUSE.DWG")
      (list "INLET-E" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-E.DWG")
      (list "INLET-STORM SEWER-6X6" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-STORM SEWER-6X6.dwg")
      (list "INLET-TYPE 'A'" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'A'.dwg")
      (list "INLET-TYPE 'B'-5X5" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'B'-5X5.dwg")
      (list "INLET-TYPE 'B'-6X6" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'B'-6X6.dwg")
      (list "INLET-TYPE 'B'-DOUBLE FRONT CONNECT" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'B'-DOUBLE FRONT CONNECT.DWG")
      (list "INLET-TYPE 'B'-Extended" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'B'-Extended.dwg")
      (list "INLET-TYPE 'B'" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-TYPE 'B'.dwg")
      (list "INLET-YARD-2X2" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET-YARD-2X2.dwg")
      (list "INLET_TRENCHDRAIN_2x2" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\INLET_TRENCHDRAIN_2x2.DWG")
      (list "LADDER RUNG" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\LADDER RUNG.dwg")
      (list "MANHOLE BASIN-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE BASIN-STORM.dwg")
      (list "MANHOLE-5X5-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-5X5-STORM.dwg")
      (list "MANHOLE-6X6-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-6X6-STORM.dwg")
      (list "MANHOLE-7X7-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-7X7-STORM.dwg")
      (list "MANHOLE-CONNECTION MANHOLE OR INLET-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-CONNECTION MANHOLE OR INLET-STORM.dwg")
      (list "MANHOLE-DIVERTER-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-DIVERTER-STORM.dwg")
      (list "MANHOLE-DOGHOUSE-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-DOGHOUSE-STORM.dwg")
      (list "MANHOLE-GRATE OPEN-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-GRATE OPEN-STORM.dwg")
      (list "MANHOLE-GRATE-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-GRATE-STORM.dwg")
      (list "MANHOLE-PRECAST-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\MANHOLE-PRECAST-STORM.dwg")
      (list "OCS-ABOVE GROUND-NO WING WALLS" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-ABOVE GROUND-NO WING WALLS.dwg")
      (list "OCS-ABOVE GROUND-WITH WING WALLS UDRAIN 90 DEG NOTCH-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-ABOVE GROUND-WITH WING WALLS UDRAIN 90 DEG NOTCH-XXX.dwg")
      (list "OCS-ABOVE GROUND-WITH WING WALLS" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-ABOVE GROUND-WITH WING WALLS.dwg")
      (list "OCS-BELOW GROUND-B INLET-MANHOLE-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-BELOW GROUND-B INLET-MANHOLE-XXX.dwg")
      (list "OCS-BELOW GROUND-EINLET-MH-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-BELOW GROUND-EINLET-MH-XXX.dwg")
      (list "OCS-BELOW GROUND-MANHOLE 6X6-MANHOLE-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-BELOW GROUND-MANHOLE 6X6-MANHOLE-XXX.dwg")
      (list "OCS-BELOW GROUND-MANHOLE-MANHOLE-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-BELOW GROUND-MANHOLE-MANHOLE-XXX.dwg")
      (list "OCS-BELOW GROUND-MANHOLE-MANHOLE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-BELOW GROUND-MANHOLE-MANHOLE.dwg")
      (list "OCS-ORIFACE PLATE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-ORIFACE PLATE.DWG")
      (list "OCS-TRASH RACK" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\OCS-TRASH RACK.dwg")
      (list "PIPE-THRU ALLEN BLOCK WALL-STORM" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\PIPE-THRU ALLEN BLOCK WALL-STORM.dwg")
      (list "RIPRAP" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\RIPRAP.dwg")
      (list "ROOF DRAIN-INTERIOR WALL-SPLASH BLOCK" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-INTERIOR WALL-SPLASH BLOCK.dwg")
      (list "ROOF DRAIN-INTERIOR WALL-T-CLEANOUT" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-INTERIOR WALL-T-CLEANOUT.dwg")
      (list "ROOF DRAIN-SPLASH BLOCK-EXTERIOR" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-SPLASH BLOCK-EXTERIOR.dwg")
      (list "ROOF DRAIN-SPLASH BLOCK-OVERFLOW-SEEPAGE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-SPLASH BLOCK-OVERFLOW-SEEPAGE.dwg")
      (list "ROOF DRAIN-SPLASH BLOCK-OVERFLOW" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-SPLASH BLOCK-OVERFLOW.dwg")
      (list "ROOF DRAIN-SPLASHBLOCK-UNDERGROUND" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\ROOF DRAIN-SPLASHBLOCK-UNDERGROUND.dwg")
      (list "SAND FILTER-ABOVEGROUND-VERTICAL" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\SAND FILTER-ABOVEGROUND-VERTICAL.dwg")
      (list "SAND FILTER-UNDER GROUND" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\SAND FILTER-UNDER GROUND.dwg")
      (list "SEEPAGE PIT" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\SEEPAGE PIT.dwg")
      (list "STONE DRAINAGE BED-XXX" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STONE DRAINAGE BED-XXX.dwg")
      (list "STORM FILTER-PRECAST-18" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STORM FILTER-PRECAST-18.dwg")
      (list "STORM FILTER-PRECAST-23" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STORM FILTER-PRECAST-23.dwg")
      (list "STORM FILTER-PRECAST-30" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STORM FILTER-PRECAST-30.dwg")
      (list "STORM-ANTI-SEEP-COLLAR" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STORM-ANTI-SEEP-COLLAR.dwg")
      (list "STORMCEPTOR" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\STORMCEPTOR.dwg")
      (list "TRENCH DRAIN" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\TRENCH DRAIN.dwg")
      (list "TRENCH-STORM PIPE" "L:\\CAD DETAILS\\New Jersey\\Storm\\Details\\TRENCH-STORM PIPE.DWG")
      ;---v---------utility---------v---------v---------utility---------v---------v---------utility---------v---------v---------utility---------v------
      (list "FIRE HYDRANT" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\FIRE HYDRANT.dwg")
      (list "TRENCH-GENERAL" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\TRENCH-GENERAL.dwg")
      (list "TRENCH-WATER" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\TRENCH-WATER.dwg")
      (list "WATER-COLLAR-CONCRETE-WCASING" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-COLLAR-CONCRETE-WCASING.dwg")
      (list "WATER-CONNECTION" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-CONNECTION.DWG")
      (list "WATER-CROSSING" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-CROSSING.dwg")
      (list "WATER-FDC FREESTAND" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-FDC FREESTAND.dwg")
      (list "WATER-GATE VALVE & BOX" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-GATE VALVE & BOX.dwg")
      (list "WATER-POST INDICATOR VALVE DETAIL" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-POST INDICATOR VALVE DETAIL.dwg")
      (list "WATER-THRUSTBLOCK" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-THRUSTBLOCK.dwg")
      (list "WATER-TYPICAL-CASING-END SEALS" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-TYPICAL-CASING-END SEALS.dwg")
      (list "WATER-TYPICAL-CASING" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-TYPICAL-CASING.dwg")
      (list "WATER-WETTAP" "L:\\CAD DETAILS\\New Jersey\\Utility\\Details\\WATER-WETTAP.dwg")
      ;---v---------sanitary---------v---------v---------sanitary---------v---------v---------sanitary---------v---------v---------sanitary---------v------
      (list "CLEANOUT-SAN" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\CLEANOUT-SAN.dwg")
      (list "CONCRETE CUT OFF WALL" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\CONCRETE CUT OFF WALL.dwg")
      (list "CROSSING-CONCRETE CRADLE" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\CROSSING-CONCRETE CRADLE.dwg")
      (list "CROSSING-CONCRETE ENCASEMENT" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\CROSSING-CONCRETE ENCASEMENT.dwg")
      (list "DEEP HOUSE CONNECTION" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\DEEP HOUSE CONNECTION.dwg")
      (list "FORCE MAIN TO EXISTING MANHOLE CONNECTION DETAIL" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\FORCE MAIN TO EXISTING MANHOLE CONNECTION DETAIL.dwg")
      (list "FORCE MAIN TO MANHOLE CONNECTION WITH DROP INVERT" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\FORCE MAIN TO MANHOLE CONNECTION WITH DROP INVERT.dwg")
      (list "LATERAL TO MANHOLE CONNECTION" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\LATERAL TO MANHOLE CONNECTION.dwg")
      (list "MANHOLE-DOGHOUSE-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-DOGHOUSE-SANITARY.dwg")
      (list "MANHOLE-EXTERNAL DROP CONNECTION-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-EXTERNAL DROP CONNECTION-SANITARY.dwg")
      (list "MANHOLE-GRATE-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-GRATE-SANITARY.dwg")
      (list "MANHOLE-INTERNAL DROP CONNECTION-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-INTERNAL DROP CONNECTION-SANITARY.dwg")
      (list "MANHOLE-PRECAST-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-PRECAST-SANITARY.dwg")
      (list "MANHOLE-SLAB TOP-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\MANHOLE-SLAB TOP-SANITARY.dwg")
      (list "SADDLE CONNECTION-TWO WAY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\SADDLE CONNECTION-TWO WAY.dwg")
      (list "SADDLE CONNECTION" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\SADDLE CONNECTION.dwg")
      (list "SADDLE NOMINAL CONNECTION" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\SADDLE NOMINAL CONNECTION.dwg")
      (list "TRENCH-SANITARY" "L:\\CAD DETAILS\\New Jersey\\Sanitary\\Details\\TRENCH-SANITARY.dwg")
      ;---v---------landscape---------v---------v---------landscape---------v---------v---------landscape---------v---------v---------landscape---------v------
      (list "BERM-BUFFER" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\BERM-BUFFER.dwg")
      (list "PLANTING-DECIDUOUS" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\PLANTING-DECIDUOUS.dwg")
      (list "PLANTING-EVERGREEN" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\PLANTING-EVERGREEN.dwg")
      (list "PLANTING-PERENNIAL & GROUND COVER" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\PLANTING-PERENNIAL & GROUND COVER.dwg")
      (list "PLANTING-SHRUB" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\PLANTING-SHRUB.dwg")
      (list "PLANTING-STREET-TREE" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\PLANTING-STREET-TREE.dwg")
      (list "RIVERSTONE-INSTALLATION" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\RIVERSTONE-INSTALLATION.dwg")
      (list "ROOT BARRIER" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\ROOT BARRIER.dwg")
      (list "SPACING-EVERGREEN" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\SPACING-EVERGREEN.dwg")
      (list "SPACING-PERENNIAL GROUNDCOVER" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\SPACING-PERENNIAL GROUNDCOVER.dwg")
      (list "STONE-BED" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\STONE-BED.DWG")
      (list "TREE-GRATE" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\TREE-GRATE.dwg")
      (list "TREE-WELL" "L:\\CAD DETAILS\\New Jersey\\Landscape\\Details\\TREE-WELL.dwg")
      ;---v---------lighting---------v---------v---------lighting---------v---------v---------lighting---------v---------v---------lighting---------v------
      (list "AREA LIGHT FOUNDATION-FULL CHART" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\AREA LIGHT FOUNDATION-FULL CHART.DWG")
      (list "DECORATIVE LIGHT FOUNDATION-FULL CHART" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\DECORATIVE LIGHT FOUNDATION-FULL CHART.dwg")
      (list "LIGHT BOLLARD FOUNDATION" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\LIGHT BOLLARD FOUNDATION.dwg")
      (list "WALL MOUNTED DECORATIVE" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\WALL MOUNTED DECORATIVE.dwg")
      (list "WALL MOUNTED FIXTURE" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\WALL MOUNTED FIXTURE.dwg")
      (list "WALL MOUNTED FULL LENS" "L:\\CAD DETAILS\\New Jersey\\Lighting\\Details\\WALL MOUNTED FULL LENS.dwg")
      ;---v---------sesc---------v---------v---------sesc---------v---------v---------sesc---------v---------v---------sesc---------v------
      (list "CHAIN LINK CONSTRUCTION FENCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\CHAIN LINK CONSTRUCTION FENCE.dwg")
      (list "CONSTRUCTION FENCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\CONSTRUCTION FENCE.dwg")
      (list "EROSION CONTROL BLANKET" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\EROSION CONTROL BLANKET.dwg")
      (list "GRATE FILTER" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\GRATE FILTER.dwg")
      (list "HAYBALE SEDIMENT BARRIER" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\HAYBALE SEDIMENT BARRIER.dwg")
      (list "INLET FILTER COMBINED" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\INLET FILTER COMBINED.dwg")
      (list "N.J.S.C.D. SEDIMENT CONTROL BAG FOR DEWATERING" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\N.J.S.C.D. SEDIMENT CONTROL BAG FOR DEWATERING.dwg")
      (list "N.J.S.C.D. SUMP PIT FOR EXCAVATION TEMPORARY DEWATERING" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\N.J.S.C.D. SUMP PIT FOR EXCAVATION TEMPORARY DEWATERING.dwg")
      (list "PREFORMED SCOUR HOLE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\PREFORMED SCOUR HOLE.DWG")
      (list "ROCK FILTER OUTLET" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\ROCK FILTER OUTLET.dwg")
      (list "SEDIMENT RISER-PERFORATED-TEMPORARY" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\SEDIMENT RISER-PERFORATED-TEMPORARY.dwg")
      (list "SEDIMENT RISER-TEMPORARY" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\SEDIMENT RISER-TEMPORARY.dwg")
      (list "SEDIMENT TRAP" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\SEDIMENT TRAP.dwg")
      (list "SILT FENCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\SILT FENCE.dwg")
      (list "STABILIZED CONSTRUCTION ENTRANCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\STABILIZED CONSTRUCTION ENTRANCE.dwg")
      (list "STOCKPILE-TEMPORARY" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\STOCKPILE-TEMPORARY.dwg")
      (list "STONE FILTER AT OUTLET STRUCTURE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\STONE FILTER AT OUTLET STRUCTURE.dwg")
      (list "STRAW BLANKET ANCHORING" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\STRAW BLANKET ANCHORING.dwg")
      (list "STRAW BLANKET" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\STRAW BLANKET.DWG")
      (list "SUPER SILT FENCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\SUPER SILT FENCE.dwg")
      (list "TREE PROTECTION FENCE" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\TREE PROTECTION FENCE.dwg")
      (list "TRENCH DRAIN FILTER" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\TRENCH DRAIN FILTER.dwg")
      (list "TYPE 'E' AND YARD INLET FILTER" "L:\\CAD DETAILS\\New Jersey\\Soil Erosion\\Details\\TYPE 'E' AND YARD INLET FILTER.dwg")
            ;---v---------Border---------v---------v---------Border---------v---------v---------Border---------v---------v---------Border---------v------
	  (list "Detail Border Template" "L:\\CAD DETAILS\\Detail Border Template.dwg")
	  ; Add more mappings as needed
    )
  )

  ; Map selected items to their corresponding block file locations
  (setq blockFileMappings '()) ; Reset the mappings
  (foreach item selectedItems
    (setq blockFile (cadr (assoc item predefinedList)))
    (if blockFile
      (setq blockFileMappings (cons (list item blockFile) blockFileMappings))
    )
  )

  ; Function to insert block using dcl-InsertBlock at a specific point
  (defun insert-block (blockFile insertionPoint /)
    ; Insert the block using dcl-InsertBlock
    (dcl-InsertBlock blockFile insertionPoint 0.0 nil)
  )

  ; Grid parameters
  (setq startX 50.0) ; Starting X coordinate
  (setq startY 0.0) ; Starting Y coordinate
  (setq spacingX 10.0) ; X spacing between blocks
  (setq spacingY 10.0) ; Y spacing between blocks
  (setq columns 6) ; Number of columns in the grid

  ; Insert blocks based on the stored mappings in a grid pattern
  (setq row 0)
  (setq col 0)
  (foreach mapping blockFileMappings
    (setq insertionPoint (list (+ startX (* col spacingX)) (+ startY (* row spacingY)) 0.0))
    (insert-block (cadr mapping) insertionPoint)
    (setq col (1+ col))
    (if (>= col columns)
      (progn
        (setq col 0)
        (setq row (1+ row))
      )
    )
  )
)


;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------

; cancel button to clode the dialogue 

;---------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------



(defun c:BlockInsert/Form1/TextButton1#OnClicked (/)
  (dcl-Form-Close BlockInsert/Form1) 
)
0 Likes
Accepted solutions (1)
617 Views
5 Replies
Replies (5)
Message 2 of 6

CodeDing
Advisor
Advisor
Accepted solution

@venturini.anthony ,

 

I'm not going to re-upload your code. Here are the 2 items you should need:

- Attached CSV

- Code snippet:

 

      ;; String to List  -  Lee Mac
(setq LM:str->lst (lambda ( str del / pos )
        (if (setq pos (vl-string-search del str))
          (cons (substr str 1 pos) (LM:str->lst (substr str (+ pos 1 (strlen del))) del))
          (list str)
        );if
      );lambda
      pathPreDef "c:\\users\\me\\PredefinedList.csv"
      filePreDef (open pathPreDef "r")
      predefinedList
        (reverse (progn
          (while (setq str (read-line filePreDef))
            (setq predefinedList (cons (LM:str->lst str ",") predefinedList))
          );while
          (close filePreDef)
          predefinedList
        ));reverse/progn
);setq

 

 

Best,

~DD

0 Likes
Message 3 of 6

ec-cad
Collaborator
Collaborator

It is difficult to read a .csv and create a List of Lists .. e.g.

(list
      ;---v---------Site---------v---------v---------Site---------v---------v---------Site---------v---------v---------Site---------v------
      (list "ADA-RAMP-FOOTING" "L:\\CAD DETAILS\\New Jersey\\S

 

It might be much easier to put all that info into seperate Lisp lists. Then in main program, just 'load' them.

e.g.

Near top of your code ..........

(load "c:/data/blocknames_cats"); Block Names and Catagories.

(load "c:/data/blocknames_locations"); Block Names and Locations.

............. more of your code

 

 

0 Likes
Message 4 of 6

Sea-Haven
Mentor
Mentor

My $0.05 if you want select blocks then use plain old fashioned pop menu. Way easier. Yes there are ways to write a mnu file using lisp as you have lists of details required. Yes can be called from a lisp if you don't want a pop menu.

 

SeaHaven_0-1730000057941.png

SeaHaven_1-1730000125890.png

I am sure others will comment about using tool palettes.

 

 

 

0 Likes
Message 5 of 6

Kent1Cooper
Consultant
Consultant

Can you simply put those folder locations into the Support File Search Path list in OPTIONS?

Kent1Cooper_0-1730121566901.png

Then all you need is to give a Block name that's in any of those folder locations, and it will find it.

Kent Cooper, AIA
0 Likes
Message 6 of 6

Sea-Haven
Mentor
Mentor

Agree with @Kent1Cooper behind those pop menus above are only the block names. Just set the paths.

0 Likes