Jump to content

Trying to use COND


woodman78

Recommended Posts

Hi, I am writing program for services for our office. I have written a DCL file with radio buttons and four options which is fine. I now want to have a lisp load depending on which of the 4 radio buttons is selected. This is what I have but I would really appreciate some help. I am try to use the COND but not sure if I am calling the follows routines right. When I run the lisp I get no function definition :T.

ESS1500, ESS1350, ESS1200, ESS1050 are the functions I want to call.

(defun C:samp4 () ;define function

(vl-load-com)

(setq dcl_id (load_dialog "samp3.dcl")) ;load dialog

(setq T TB2); ?????Not sure if i need this

 

(if (not (new_dialog "samp3" dcl_id) ;test for dialog

);not

(exit) ;exit if no dialog

);if

(action_tile "T1" "(setq hole \"TB1\")") ;*store hole type

(action_tile "T2" "(setq hole \"TB2\")") ;*store hole type

(action_tile "T3" "(setq hole \"TB3\")") ;*store hole type

(action_tile "T4" "(setq hole \"TB4\")") ;*store hole type

 

(action_tile

"cancel" ;if cancel button pressed

"(done_dialog) (setq userclick nil)" ;close dialog, set flag

);action_tile

(action_tile

"accept" ;if O.K. pressed

" (done_dialog)(setq userclick T))" ;??? Is this standard code.

 

(cond (=(T "TB1")ESS1500)

(=(T "TB2")ESS1350)

(=(T "TB3")ESS1200)

(=(T "TB4")ESS1050)

('t

(princ "\nNothing changed.")

) ;_ end of optional else condition

) ;_ end of cond statement

 

);action tile

 

(start_dialog) ;start dialog

(unload_dialog dcl_id) ;unload

 

(princ)

);defun C:samp

(princ)

Link to comment
Share on other sites

mate if you could provide the dcl file, it would make it alot easyer to work out what you are doing,

i assume you are using radio_button's

Regards flower

Link to comment
Share on other sites

please excuse me if i make any mistakes, i am quite blind,

 

But

(cond (=(T "TB1")ESS1500)
(=(T "TB2")ESS1350)
(=(T "TB3")ESS1200)
(=(T "TB4")ESS1050)
('t
(princ "\nNothing changed.")
) ;_ end of optional else condition
)

 

should be

 

 

(cond (=(hole "TB1")ESS1500)
(=(hole "TB2")ESS1350)
(=(hole "TB3")ESS1200)
(=(hole "TB4")ESS1050)
('t
(princ "\nNothing changed.")
) ;_ end of optional else condition
)

Link to comment
Share on other sites

Hi Flower,

 

Here is the DCL:

 

samp3 : dialog { //dialog name

label = "Structural Holes" ; //give it a label

:boxed_radio_column { //*define radio column

label = "Choose a Type" ; //*give it a label

: radio_button { //*define radion button

key = "T1" ; //*give it a name

label = "Type &1" ; //*give it a label

value = "1" ; //*switch it on

} //*end definition

: radio_button { //*define radio button

key = "T2" ; //*give it a name

label = "Type &2" ; //*give it a label

} //*end definition

: radio_button { //*define radio button

key = "T3" ; //*give it a name

label = "Type &3" ; //*give it a label

} //*end definition

: radio_button { //*define radio button

key = "T4" ; //*give it a name

label = "Type &4" ; //*give it a label

} //*end definition

} //*end radio column

ok_cancel ; //predifined OK/Cancel

: row { //define row

 

: paragraph { //define paragraph

: text_part { //define text

label = "Designed by BD"; //give it some text

} //end text

: text_part { //define more text

label = "for CCC NNRDO"; //some more text

} //end text

} //end paragraph

} //end row

 

} //end dialog

Link to comment
Share on other sites

Mate, had a look, didnt run it, should be fine in princaple

 

Not alot of changes really, If you want me to explane why i changed things im happy to explain

 

just one note

 

When posting code please put in the code tages it the # key in with all the format **** on the top of the reply box.

it just keeps formats and easyer on the eyes

 

(defun C:samp4 () ;define function 
(vl-load-com)
(setq dcl_id (load_dialog "samp3.dcl")) ;load dialog
; (setq T TB2); ?????Not sure if i need this
;not sure what you want from this, but i belive its not needed, but i do not know your varibles
(if (not (new_dialog "samp3" dcl_id) ;test for dialog
  );not
   (progn
      (alert "Can not find you dcl file")
      (exit) ;exit if no dialog
  )
);if
(action_tile "T1" "(setq hole \"TB1\")") ;*store hole type
(action_tile "T2" "(setq hole \"TB2\")") ;*store hole type
(action_tile "T3" "(setq hole \"TB3\")") ;*store hole type
(action_tile "T4" "(setq hole \"TB4\")") ;*store hole type
(action_tile
 "cancel" ;if cancel button pressed
 "(done_dialog) (setq userclick nil)" ;close dialog, set flag
);action_tile
(action_tile
 "accept" ;if O.K. pressed
"(done_dialog)(setq userclick T))" ;??? Is this standard code.
);action tile
(start_dialog) ;start dialog
(unload_dialog dcl_id) ;unload
(if userclick
 (cond 
  (=(hole "TB1")ESS1500)
  (=(hole "TB2")ESS1350)
  (=(hole "TB3")ESS1200)
  (=(hole "TB4")ESS1050)
  (t (princ "\nNothing changed.")
   ) ;_ end of optional else condition
 ) ;_ end of cond statement
)
(princ)
);defun C:samp
(princ "\nThis loaded fine")
(princ)

 

 

and dcl, it is unchanged

 

samp3 : dialog { //dialog name
label = "Structural Holes" ; //give it a label
:boxed_radio_column { //*define radio column
 label = "Choose a Type" ; //*give it a label
 : radio_button { //*define radion button
  key = "T1" ; //*give it a name
  label = "Type &1" ; //*give it a label
  value = "1" ; //*switch it on
 } //*end definition
 : radio_button { //*define radio button
  key = "T2" ; //*give it a name
  label = "Type &2" ; //*give it a label
 } //*end definition
 : radio_button { //*define radio button
  key = "T3" ; //*give it a name
  label = "Type &3" ; //*give it a label
 } //*end definition
 : radio_button { //*define radio button
  key = "T4" ; //*give it a name
  label = "Type &4" ; //*give it a label
 } //*end definition
} //*end radio column
ok_cancel ; //predifined OK/Cancel
: row { //define row
 : paragraph { //define paragraph
  : text_part { //define text
   label = "Designed by BD"; //give it some text
  } //end text
  : text_part { //define more text
   label = "for CCC NNRDO"; //some more text
  } //end text
 } //end paragraph
} //end row
} //end dialog

 

sorry my pasting format turns out quite **** for some reason.

Link to comment
Share on other sites

Thanks for that Flower,

 

It has gotten rid of the errors but it still doesn't run any of the ESS routines. I have them in the same .lsp file. Do i need to call them in a different way or something.

 

I ran one of the ESS routines from the command line and it runs fine.

 

I would appreciate any ideas..

Link to comment
Share on other sites

Do you have them set as functions in the same file?

 

If so, you could do this:

 

(cond (=(hole "TB1") (C:ESS1500))
(=(hole "TB2") (C:ESS1350))
(=(hole "TB3") (C:ESS1200))
(=(hole "TB4") (C:ESS1050))
('t
(princ "\nNothing changed.")
) ;_ end of optional else condition
)

 

Since you said that you can run the routines from the command line you could also simply do this:

 

 
(cond (=(hole "TB1") (command "ESS1500"))
(=(hole "TB2") (command "ESS1350")
(=(hole "TB3") (command "ESS1200"))
(=(hole "TB4") (command "ESS1050"))
('t
(princ "\nNothing changed.")
) ;_ end of optional else condition
)

Link to comment
Share on other sites

Sorry mate i missed that lastnight

 

(cond 
  (=(hole "TB1")(ESS1500))
  (=(hole "TB2")(ESS1350))
  (=(hole "TB3")(ESS1200))
  (=(hole "TB4")(ESS1050))
  (t (princ "\nNothing changed.")) ;_ end of optional else condition
 )

 

 

 

 

Aswell

Do you call the routenes up from the command line all the time?

Or just for the testing faze.As i would ride the "c:" part.

then the above should work

 

(defun ESS1350 ()
"the code here"
)

 

 

Or do as PHPGator

(cond (=(hole "TB1") (C:ESS1500))

(=(hole "TB2") (C:ESS1350))

(=(hole "TB3") (C:ESS1200))

(=(hole "TB4") (C:ESS1050))

('t

(princ "\nNothing changed.")

) ;_ end of optional else condition

)

Link to comment
Share on other sites

Thanks guys, Just into the office now and tried your solution but no joy. I am getting an error ; error: bad function: "TB3" depending on which radio button I choose. Any ideas, this is the full code. Thanks again.

 

 

 
(defun C:samp4 () ;define function 
(vl-load-com)
(setq dcl_id (load_dialog "samp3.dcl")) ;load dialog
;not sure what you want from this, but i belive its not needed, but i do not know your varibles
(if (not (new_dialog "samp3" dcl_id) ;test for dialog
  );not
   (progn
      (alert "Can not find you dcl file")
      (exit) ;exit if no dialog
  )
);if
(action_tile "T1" "(setq hole \"TB1\")") ;*store hole type
(action_tile "T2" "(setq hole \"TB2\")") ;*store hole type
(action_tile "T3" "(setq hole \"TB3\")") ;*store hole type
(action_tile "T4" "(setq hole \"TB4\")") ;*store hole type
(action_tile
 "cancel" ;if cancel button pressed
 "(done_dialog) (setq userclick nil)" ;close dialog, set flag
);action_tile
(action_tile
 "accept" ;if O.K. pressed
"(done_dialog)(setq userclick T))" ;??? Is this standard code.
);action tile
(start_dialog) ;start dialog
(unload_dialog dcl_id) ;unload
(if userclick
 (cond 
  (=(hole "TB1")  (command "ESS1500"))
  (=(hole "TB2")  (command "ESS1350"))
  (=(hole "TB3")  (command "ESS1200"))
  (=(hole "TB4")  (command "ESS1050"))
  (t (princ "\nNothing changed.")
   ) ;_ end of optional else condition
 ) ;_ end of cond statement
)
(princ)
);defun C:samp
(princ "\nThis loaded fine")
(princ)


(defun c:ESS1500()
(setq a "CCC_DR_1500")
 (if (= (tblsearch "ltype" a) nil)  
      (command "-linetype" "l" a "acadiso.lin" "")
            (princ))
(graphscr)
(command "._-layer"   "N"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"   "M"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"   "L"   
"CCC_DR_1500"  "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"   "C"   "84"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"   "LW"   
"0.3"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"    "" )
(command "pline" pause "width" "0.0" "0.0" pause "width" "0.0" "0.0")
(setvar "cmdecho" 1)
(princ)
)
;;;;;;;;;;Existing Storm_Sewer 1500mm;;;;;;;;;; End


;;;;;;;;;;Existing Storm_Sewer 1350mm;;;;;;;;;; Start
(defun c:ESS1350()
(setq a "CCC_DR_1350")
 (if (= (tblsearch "ltype" a) nil)  
      (command "-linetype" "l" a "acadiso.lin" "")
            (princ))
(graphscr)
(command "._-layer"   "N"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"   "M"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"   "L"   
"CCC_DR_1350"  "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"   "C"   "84"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"   "LW"   
"0.3"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"    "" )
(command "pline" pause "width" "0.0" "0.0" pause "width" "0.0" "0.0")
(setvar "cmdecho" 1)
(princ)
)
;;;;;;;;;;Existing Storm_Sewer 1350mm;;;;;;;;;; End


;;;;;;;;;;Existing Storm_Sewer 1200mm;;;;;;;;;; Start
(defun c:ESS1200()
(setq a "CCC_DR_1200")
 (if (= (tblsearch "ltype" a) nil)  
      (command "-linetype" "l" a "acadiso.lin" "")
            (princ))
(graphscr)
(command "._-layer"   "N"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"   "M"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"   "L"   
"CCC_DR_1200"  "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"   "C"   "84"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"   "LW"   
"0.3"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"    "" )
(command "pline" pause "width" "0.0" "0.0")
(setvar "cmdecho" 1)
(princ)
)
;;;;;;;;;;Existing Storm_Sewer 1200mm;;;;;;;;;; End


;;;;;;;;;;Existing Storm_Sewer 1050mm;;;;;;;;;; Start
(defun c:ESS1050()
(setq a "CCC_DR_1050")
 (if (= (tblsearch "ltype" a) nil)  
      (command "-linetype" "l" a "acadiso.lin" "")
            (princ))
(graphscr)
(command "._-layer"   "N"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"   "M"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"   "L"   
"CCC_DR_1050"  "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"   "C"   "84"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"   "LW"   
"0.3"   "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"    "" )
(command "pline" pause "width" "0.0" "0.0")
(setvar "cmdecho" 1)
(princ)
)
;;;;;;;;;;Existing Storm_Sewer 1050mm;;;;;;;;;; End

Link to comment
Share on other sites

Sorry mate, Didnt pick up, was drunk or hung ova

 

try with

 

(cond 
  (= hole "TB1")  (command "ESS1500"))
  (= hole "TB2")  (command "ESS1350"))
  (= hole "TB3")  (command "ESS1200"))
  (= hole "TB4")  (command "ESS1050"))
  (t (princ "\nNothing changed.")
   ) ;_ end of optional else condition
 )

 

 

Please note that if you dont pick any thing, it will return nothing change.

But, defult for radio buttons is to have one enabbled, Either go with toggle buttons , and extra option as "none" or some thing , or not have that option

Link to comment
Share on other sites

Does this mean I can't use the radio buttons at all?? I can get the dialog box to load with none pre-selected. After I load and run the lsp i am still getting the BAD Function error when i select one of the buttons. None of the ESS commands will run but they will run when typed into the command line directly just as a test. I must be missing something here!

Link to comment
Share on other sites

Bro like i said before

(cond 
  (= hole "TB1")  (ESS1500))
  (= hole "TB2")  (ESS1350))
  (= hole "TB3")  (ESS1200))
  (= hole "TB4")  (ESS1050))
  (t (princ "\nNothing changed.")
   ) ;_ end of optional else condition
 )

 

with the other ones as. this formatt should work

 

(defun ESS1350 ()
"the code here"
)

Link to comment
Share on other sites

or purhaps some thing like this

 


(defun C:samp4 (/ hole) 
(vl-load-com)
(setvar "cmdecho" 0)
(defun MkLay (Nme Col lTyp lWgt Plt / lays lay) ;thank lee for this one
 (setq lays 
  (vla-get-layers
   (vla-get-ActiveDocument
    (vlax-get-acad-object)
   )
  )
 lay 
  (cond 
   ((tblsearch "LAYER" Nme)
    (vla-item lays Nme)
   )
   (t (vla-add lays Nme))
  )
 )
 (and Col (vla-put-Color lay Col))
 (and lTyp (lTload lTyp) (vla-put-Linetype lay lTyp))
 (and lWgt  (vla-put-LineWeight lay (eval (read (strcat "acLnWt" lWgt)))))
 (and (not Plt) (vla-put-Plottable lay :vlax-false))
)
(defun lTload (lTyp)
 (or (tblsearch "LTYPE" lTyp)
  (vla-load
   (vla-get-Linetypes
    (vla-get-ActiveDocument
     (vlax-get-acad-object)
    )
   ) 
   lTyp "acad.lin"
  )
 )
)

(defun drawingstuff(a layername /)
 (if (not(tblsearch "layer" layername))
  (MkLay layername 84 a 030 nil)
 )
 (setvar "clayer" layername)
 (command "pline" '(0 0 0) "width" "0.0" "0.0" //)
 (setvar "cmdecho" 1)
 (command "pline")
)

(setq dcl_id (load_dialog "samp3.dcl"))
(if (not (new_dialog "samp3" dcl_id) )
 (progn
    (alert "Can not find you dcl file")
    (exit)
 )
)
(action_tile "T1" "(setq hole \"TB1\")(set_tile \"T2\" \"0\")(set_tile \"T3\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T1\") \"0\")(setq hole nil)))")
(action_tile "T2" "(setq hole \"TB2\")(set_tile \"T1\" \"0\")(set_tile \"T3\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T2\") \"0\")(setq hole nil)))")
(action_tile "T3" "(setq hole \"TB3\")(set_tile \"T1\" \"0\")(set_tile \"T2\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T3\") \"0\")(setq hole nil)))")
(action_tile "T4" "(setq hole \"TB4\")(set_tile \"T1\" \"0\")(set_tile \"T2\" \"0\")(set_tile \"T3\" \"0\")(if (= (get_tile \"T4\") \"0\")(setq hole nil)))")
(action_tile "cancel" "(done_dialog)(setq userclick nil)")
(action_tile "accept" "(done_dialog)(setq userclick T))")
(start_dialog) 
(unload_dialog dcl_id)
(if userclick
 (cond 
  ((= hole "TB1") (drawingstuff "CCC_DR_1500""CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"))
  ((= hole "TB2") (drawingstuff "CCC_DR_1350" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"))
  ((= hole "TB3") (drawingstuff "CCC_DR_1200" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"))
  ((= hole "TB4") (drawingstuff "CCC_DR_1050" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"))
  (t (princ "\nNothing changed."))
 )
)
(princ)
)

Link to comment
Share on other sites

woops

 

here's the dcl aswell

 

samp3 : dialog { //dialog name
label = "Structural Holes" ; 
:boxed_radio_column { 
 label = "Choose a Type" ; 
 :toggle {key = "T1" ; label = "Type &1"; }
 :toggle {key = "T2" ; label = "Type &2"; }
 :toggle {key = "T3" ; label = "Type &3"; }
 :toggle {key = "T4" ; label = "Type &4"; }
} //*end radio column
ok_cancel ; //predifined OK/Cancel
: row { //define row
 : paragraph { //define paragraph
  : text_part { 
   label = "Designed by BD"; 
  } //end text
  : text_part { //define more text
   label = "for CCC NNRDO"; 
  } //end text
 } //end paragraph
} //end row
} //end dialog

Link to comment
Share on other sites

That did the job alright. Thanks for that. Was there a fundamental problem with what i did or is it just that the visual lisp is better coding??

Thanks

Link to comment
Share on other sites

If you hadnt the need for the option of nothing, you would of almost been on the mark.

 

Except with the cond

That wasnt quite correct, not far off tho.

 

All i did was change it to a toggle, that accepts nil.

Used a different way to create a layer

Used a different way to load the linetype.

And I simplfied the multiple commands into one.

with a cond to pass the values on to it.

Link to comment
Share on other sites

Thanks for that but the problem is that I don't understand what is going on there. I can't follow the code in order to modify it for other routines I want to run. I understand the one I have but not why it won't load the other ESS routines.

Link to comment
Share on other sites

Mate hope this helps

let me know if note, here are some notes

(defun C:samp4 (/ hole) 
(vl-load-com)
(setvar "cmdecho" 0)

;this creates the layer, Give it, name , colour , lintype. lineweight eg 030 and plot (t or nil)
(defun MkLay (Nme Col lTyp lWgt Plt / lays lay) ;thank lee for this one
 (setq lays 
  (vla-get-layers
   (vla-get-ActiveDocument
    (vlax-get-acad-object)
   )
  )
 lay 
  (cond 
   ((tblsearch "LAYER" Nme)
    (vla-item lays Nme)
   )
   (t (vla-add lays Nme))
  )
 )
 (and Col (vla-put-Color lay Col))
 (and lTyp (lTload lTyp) (vla-put-Linetype lay lTyp))
 (and lWgt  (vla-put-LineWeight lay (eval (read (strcat "acLnWt" lWgt)))))
 (and (not Plt) (vla-put-Plottable lay :vlax-false))
)
;this just searchs for line type, adds it if needed
(defun lTload (lTyp)
 (or (tblsearch "LTYPE" lTyp)
  (vla-load
   (vla-get-Linetypes
    (vla-get-ActiveDocument
     (vlax-get-acad-object)
    )
   ) 
   lTyp "acad.lin"
  )
 )
)


;this is your draw function
;because your codes where all the similar except layer & linetype
(defun drawingstuff(a layername /)
;This searchs for layer
(if (not(tblsearch "layer" layername))
 (MkLay layername 84 a 030 nil)
)
;this changes the layer
(setvar "clayer" layername)
;this sets up the width then exits it
(command "pline" '(0 0 0) "width" "0.0" "0.0" //)
;returns cmdecho back, so it has promps for commands
(setvar "cmdecho" 1)
;runs pline & lets user do what they want with it
(command "pline")
)
;loadinc dcl
(setq dcl_id (load_dialog "samp3.dcl"))
(if (not (new_dialog "samp3" dcl_id) )
 (progn
    (alert "Can not find you dcl file")
    (exit)
 )
)
;will set the the flag to respected vale, and will set all the tiles to bank
;because there toggle boxes, they can be on all at once, so it stops it,
;it will the cheack if current tile is nil or not
;if it is set the flag nil
(action_tile "T1" "(setq hole \"TB1\")(set_tile \"T2\" \"0\")(set_tile \"T3\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T1\") \"0\")(setq hole nil)))")
(action_tile "T2" "(setq hole \"TB2\")(set_tile \"T1\" \"0\")(set_tile \"T3\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T2\") \"0\")(setq hole nil)))")
(action_tile "T3" "(setq hole \"TB3\")(set_tile \"T1\" \"0\")(set_tile \"T2\" \"0\")(set_tile \"T4\" \"0\")(if (= (get_tile \"T3\") \"0\")(setq hole nil)))")
(action_tile "T4" "(setq hole \"TB4\")(set_tile \"T1\" \"0\")(set_tile \"T2\" \"0\")(set_tile \"T3\" \"0\")(if (= (get_tile \"T4\") \"0\")(setq hole nil)))")
(action_tile "cancel" "(done_dialog)(setq userclick nil)")
(action_tile "accept" "(done_dialog)(setq userclick T))")
(start_dialog) 
(unload_dialog dcl_id)
;if accepted
;search which flag is done, will the pass the line type value and layer  name to the funtion
(if userclick
 (cond 
  ((= hole "TB1") (drawingstuff "CCC_DR_1500""CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1500"))
  ((= hole "TB2") (drawingstuff "CCC_DR_1350" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1350"))
  ((= hole "TB3") (drawingstuff "CCC_DR_1200" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1200"))
  ((= hole "TB4") (drawingstuff "CCC_DR_1050" "CCC_SERVICES_EXISTING_Drainage_Storm_Sewer_1050"))
  (t (princ "\nNothing changed."))
 )
)
(princ)
)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...