Message 1 of 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Guys i am stuck with my lisp routine, the "yes no" works but when it comes to the next part when you select Yes the
[Backfill/Excavation & Backfill/Rip & Recompact] does nothing, i might have missed something or my code is incorrect.
(defun c:TEST (/ oldLayer nlayer ncolor nlt inans ynans pt1 pt2 tx cml n1 n2 n3 n4 )
(setq oldLayer (getvar "clayer"))
(setq nlayer ".TEXT 2.5mm")
(setq ncolor "White")
(setq nlt "Continuous")
(if (tblsearch "Layer" nlayer)
(progn
(prompt "\n The Layer already Exists!")
(princ))
(progn
(command "Layer" "m" nlayer "lt" nlt "" "c" ncolor "" "p" "p" "" "")
(setvar "clayer" oldLayer)))
(setq inans (initget "Yes No"))
(setq ynans (getkword "\nDo you want to use pre-set options? [Yes/No] <No> "))
(if (= ynans "No")
(progn
(setq pt1 (getpoint "\n Select Arrow Head Point: "))
(setq pt2 (getpoint pt1 "\n Select Text Location: "))
(setq tx (getstring T "\n Please enter M-Leader Text: "))
(command "Mleader" pt1 pt2 tx)
(setq cml (entget(entlast)))
(setq cml (subst(cons 8 ".TEXT 2.5mm")(assoc 8 cml)cml))
(entmod cml)
(entupd(entlast))
(princ)))
(if (= ynans "Yes")
(progn
(setq ans (getkword "\nSelect pre-set text? [Backfill/Excavation & Backfill/Rip & Recompact] <Backfill> "))
(if (= ans "Backfill")
(progn
(setq pt1 (getpoint "\n Select Arrow Head Point: "))
(setq pt2 (getpoint pt1 "\n Select Text Location: "))
(setq n1 (getstring "\nEnter Material Type: (G:) "))
(setq n2 (getstring "\nEnter Compaction Percentage: (%) "))
(setq n3 (getstring "\nEnter Layer Thickness: (mm) "))
(setq tx (strcat "G" n1 " MATERIAL COMPACTED TO " n2 "%" " Mod. AASHTO IN LAYERS NOT EXCEEDING " n3 "mm" " THICKNESS."))
(command "Mleader" pt1 pt2 tx)
(setq cml (entget(entlast)))
(setq cml (subst(cons 8 ".TEXT 2.5mm")(assoc 8 cml)cml))
(entmod cml)
(entupd(entlast))
(princ)))
(if (= ans "Excavation & Backfill")
(progn
(setq pt1 (getpoint "\n Select Arrow Head Point: "))
(setq pt2 (getpoint pt1 "\n Select Text Location: "))
(setq n1 (getstring "\nEnter Excavation Depth: (m) "))
(setq n2 (getstring "\nEnter Material Type: (G:) "))
(setq n3 (getstring "\nEnter Compaction Percentage: (%) "))
(setq n4 (getstring "\nEnter Layer Thickness: (mm) "))
(setq tx (strcat "EXCAVATE TO A MIN DEPTH OF " n1 "m" " & BACKFILL WITH " "G" n2 " MATERIAL COMPACTED TO " n3 "%" " Mod. AASHTO IN LAYERS NOT EXCEEDING " n4 "mm" " THICKNESS." ))
(command "Mleader" pt1 pt2 tx)
(setq cml (entget(entlast)))
(setq cml (subst(cons 8 ".TEXT 2.5mm")(assoc 8 cml)cml))
(entmod cml)
(entupd(entlast))
(princ)))
(if (= ans "Rip & Recompact")
(progn
(setq pt1 (getpoint "\n Select Arrow Head Point: "))
(setq pt2 (getpoint pt1 "\n Select Text Location: "))
(setq n1 (getstring "\nEnter Rip & Recompact Thickness: (mm) "))
(setq n2 (getstring "\nEnter Compaction Percentage: (%) "))
(setq tx (strcat "RIP & RE-COMPACT " n1 "mm" " IN-SITU MATERIAL TO " n2 "%" " Mod. AASHTO DENSITY."))
(command "Mleader" pt1 pt2 tx)
(setq cml (entget(entlast)))
(setq cml (subst(cons 8 ".TEXT 2.5mm")(assoc 8 cml)cml))
(entmod cml)
(entupd(entlast))
(princ)))))
)
(princ)
Civil 3D Certified Professional
Solved! Go to Solution.