Jump to content

HVAC Ducting Program


The Buzzard

Recommended Posts

hello there, i must say that i've tried you program now for the first time, and it seems to me really nice and helpful. I haven't read other opinions, so ill let here some things that will turn the program from my point of view excellent.

- Is there a chance of creating an option to design those duct pieces necessary when you have a main duct and then you must leave small branches behind?

- i design a line on the center to make the difference between round and rectangular ducts, is it possible to create that option as well?

Ok, these are just some ideas to improve a program that is for itself very good, so congratulations and keep the good work.

Link to comment
Share on other sites

hello there, i must say that i've tried you program now for the first time, and it seems to me really nice and helpful. I haven't read other opinions, so ill let here some things that will turn the program from my point of view excellent.

 

- Is there a chance of creating an option to design those duct pieces necessary when you have a main duct and then you must leave small branches behind?

 

- i design a line on the center to make the difference between round and rectangular ducts, is it possible to create that option as well?

 

Ok, these are just some ideas to improve a program that is for itself very good, so congratulations and keep the good work.

 

 

Ah, Its himself!

 

Thanks for trying the program and I am glad you like what you have seen. Of course all of the options you mention can be done. Think of it as if it can be drawn by you, Then the program can do it as well. At this stage I am keeping the program as is for now. If you feel upto the challange, Then by all means you can add all the options you want.

Maybe when I get some time later I suppose I could do some more with it.

 

Thanks and enjoy the program,

The Buzzard

Link to comment
Share on other sites

Hi Buzzard.

I can download the RMD.I add to Autocad.I write to autocad RMD.But ı can't run RMD.How run is the RMD.What write behove to autocad for run RMD.Please you facilitate to me.Thank you for program.

 

Zafer

Link to comment
Share on other sites

Hi Buzzard.

I can download the RMD.I add to Autocad.I write to autocad RMD.But ı can't run RMD.How run is the RMD.What write behove to autocad for run RMD.Please you facilitate to me.Thank you for program.

 

Zafer

 

 

Hi Zafer,

 

Be sure you keep the DCL & LSP files together, Make sure they are in the ACAD Support Search Path. This you set in your Options under the File tab.

 

There are several ways to load a lisp file. See the link below:

http://www.cadtutor.net/forum/showthread.php?t=1390

 

Once the lisp has been loaded, You type RMD at the command prompt.

 

Hope this helps.

Let me know if you are still having problems.

The Buzzard

OPTIONS.JPG

Link to comment
Share on other sites

  • 2 months later...

This is a very awesom program! You guys that write this stuff are gifted.

 

I am hoping to learn some more about lisp myself.

 

I was wondering if a newbie like me can modify the program (customize) to include options like insulation thickness and 35mm duct flanges at the joints?

 

These questions are in no way a knock at anyone here, just a question.

 

Thanks for the lisp program. It truly is phenominal!

Link to comment
Share on other sites

This is a very awesom program! You guys that write this stuff are gifted.

 

I am hoping to learn some more about lisp myself.

 

I was wondering if a newbie like me can modify the program (customize) to include options like insulation thickness and 35mm duct flanges at the joints?

 

These questions are in no way a knock at anyone here, just a question.

 

Thanks for the lisp program. It truly is phenominal!

Thanks Mech Designer,

 

I put the program together with the user editing it in mind. I show the thickness of the insulation in the program typically as 2" in the Imperial Version & 50mm. in the Metric Version. The rule of thumb here is to just specify your insulation thickness in the notes as it would not make much sense at all to actually set the thickness as it may be too close to the duct and may not appear clearly in your drawing. In any event if the user wants it that way, Its up to them.

 

My primary purpose for putting a program such as this together is to give others the idea as to how far they can take their level of programming a routine to do a lot with one command. To this day I am still learning to program as well. Many people come here and ask the same question "Is it possible to do this or that" and this should give you an idea that much can be accomplished if you are willing to put in the time to learn. I do not plan to add on any more to this program. If you wish to edit it you can start a new thread and post your questions. I will help where I can and when I can. You will also find help from others as well. If you post any changes on another thread, Be sure to keep the headers in place and indicate any revisions you make to this program.

 

Enjoy the program and good luck to you if you decide to learn lisp.

The Buzzard

Link to comment
Share on other sites

Thanks to the Buzzard. Again it is an awesome program. Amazing what it does.

 

You are obviously skilled at this.

Link to comment
Share on other sites

Thanks to the Buzzard. Again it is an awesome program. Amazing what it does.

 

You are obviously skilled at this.

If you read the about dialog, You will find that I had help from others listed there.

 

You will also find that if you are willing to put in the time to make a program like this, The help will be available for you when you ask because you are showing an effort to learn.

 

Many will not write a complete application for you, But they will provide snippets and ideas to give you a nudge in the right direction. The first move needs to be provided by you.

Link to comment
Share on other sites

I understand.

 

I am always willing to give things a go. I am very new to Lisp, so I will need lots of instruction.

 

I started a new thread and would like to use your program as a base. Is this ok?

 

Again, thanks to you and the others. It is awesome!

Link to comment
Share on other sites

I understand.

 

I am always willing to give things a go. I am very new to Lisp, so I will need lots of instruction.

 

I started a new thread and would like to use your program as a base. Is this ok?

 

Again, thanks to you and the others. It is awesome!

Sure go ahead, But remember what I said about the header and revisions.

 

Good Luck

Link to comment
Share on other sites

  • 4 weeks later...

I would like to start off by saying "Thanks for the program." Second I would like to see how I can change/add a specific Font Style/Font Name, Width Factor, and Oblique Angle. I am using V6.0 and would like to know how to incorporate that into F26. It does not seem to automatically add those variables even when they are included into the current font style. (Since it appears to be referencing the current style.)

In a post I think I seen that at one point it was incorporated, but then removed in V6.0. I tried copy/pasting it in but with no success. I changed the setting how I would like to see it but it doesn't seem to work as I would hope.

Here is what I come up with:

; F26 - Font Style Function.

;

(defun RMD_FS ()

(setq FSTY$ "notes" ;Font Style Name

TWF# 0.85 ;Text Width Factor

TOA# 10.0 ;Text Oblique Angle

PFN$ "romans.shx" ;Font Name ~ (Note: You can have .shx or .ttf type fonts)

BFN$ "") ;Big Font

(if (null (tblsearch "style" FSTY$))

(entmake

(list

(cons 0 "STYLE")

(cons 100 "AcDbSymbolTableRecord")

(cons 100 "AcDbTextStyleTableRecord")

(cons 2 FSTY$)

(cons 70 0)

(cons 40 0)

(cons 41 TWF#)

(cons 50 TOA#)

(cons 3 PFN$)

(cons 4 BFN$))))

(princ))

Any help would be great.

Thanks!

Malice

Link to comment
Share on other sites

I would like to start off by saying "Thanks for the program." Second I would like to see how I can change/add a specific Font Style/Font Name, Width Factor, and Oblique Angle. I am using V6.0 and would like to know how to incorporate that into F26. It does not seem to automatically add those variables even when they are included into the current font style. (Since it appears to be referencing the current style.)

 

In a post I think I seen that at one point it was incorporated, but then removed in V6.0. I tried copy/pasting it in but with no success. I changed the setting how I would like to see it but it doesn't seem to work as I would hope.

 

Here is what I come up with:

 

; F26 - Font Style Function.

;

(defun RMD_FS ()

(setq FSTY$ "notes" ;Font Style Name

TWF# 0.85 ;Text Width Factor

TOA# 10.0 ;Text Oblique Angle

PFN$ "romans.shx" ;Font Name ~ (Note: You can have .shx or .ttf type fonts)

BFN$ "") ;Big Font

(if (null (tblsearch "style" FSTY$))

(entmake

(list

(cons 0 "STYLE")

(cons 100 "AcDbSymbolTableRecord")

(cons 100 "AcDbTextStyleTableRecord")

(cons 2 FSTY$)

(cons 70 0)

(cons 40 0)

(cons 41 TWF#)

(cons 50 TOA#)

(cons 3 PFN$)

(cons 4 BFN$))))

(princ))

 

Any help would be great.

 

Thanks!

 

Malice

 

Hey MALICE,

 

Originally I had a font style selection in the first version. A few thought it would be better to allow the user to set their own font style. Attached below is a copy of the original with the choice of styles. You can pick through that to find what you need.

RMD.zip

Link to comment
Share on other sites

One other thing to keep in mind.

When changing the font styles from one to another you will need to have the proper list of variables in the entmake call.

 

This is in the Horizontal Duct Function in the program on the previous post.

  (entmake
   (list
     (cons 0 "TEXT")(cons 100 "AcDbEntity")(cons 67 0)(cons 410 "Model")
     (cons 8 LNAM$)(cons 100 "AcDbText")(cons 10 TXPT#)(cons 40 TSIZ#)(cons 1 DSIZ$)
     (cons 50 TXTA#)(cons 41 TWF#)(cons 51 TOA#)(cons 7 FSTY$)(cons 71 0)(cons 72 1)
     (cons 11 TXPT#)(cons 210 EXDR#)(cons 100 "AcDbText")(cons 73 2))) 

 

This is in addition to these other functions that require updating the selection set.

See below, This is also in that program.

 

 ;/////////////////////////////////////////////////////////////////////////////////////////
;
; F23 - Font Style Function.
;
(defun RMD_FS ()
 (cond
   ((= FSTY$ "ARCH")   (setq FSTY$ "Arch")   (setq TWF# 1.0)(setq TOA# 0.0)  (setq PFN$ "arch.shx")  (setq BFN$ ""))
   ((= FSTY$ "ROMAND") (setq FSTY$ "Romand") (setq TWF# 1.0)(setq TOA# 0.0)  (setq PFN$ "romand.shx")(setq BFN$ ""))
   ((= FSTY$ "ROMANS") (setq FSTY$ "Romans") (setq TWF# 1.0)(setq TOA# 0.0)  (setq PFN$ "romans.shx")(setq BFN$ ""))
   ((= FSTY$ "SLANTED")(setq FSTY$ "Slanted")(setq TWF# 1.0)(setq TOA# -21.(setq PFN$ "romans.shx")(setq BFN$ "")))
 (if (null (tblsearch "style" FSTY$))
   (entmake
     (list
       (cons 0   "STYLE")
       (cons 100 "AcDbSymbolTableRecord")
       (cons 100 "AcDbTextStyleTableRecord")
       (cons 2    FSTY$)
       (cons 70   0)
       (cons 40   0)
       (cons 41   TWF#)
       (cons 50   TOA#)
       (cons 3    PFN$)
       (cons 4    BFN$))))
 (princ))
;
;/////////////////////////////////////////////////////////////////////////////////////////
;
; F24 - Font Style Update Function.
;
(defun RMD_FSU ()
 (if (setq INDEX 0 SS (ssget "_x" (list
                                    (cons 0  "TEXT")
                                    (cons -4 "<or")
                                    (cons 8  "M-HVAC-IDEN")
                                    (cons 8  "M-EXHS-IDEN")
                                    (cons 8  "M-DUST-IDEN")
                                    (cons -4 "or>"))))
   (while
     (setq ENAME (ssname SS (setq INDEX (1+ INDEX))))
     (setq ELIST (entget ENAME))
     (entmod (subst (cons 7 FSTY$)(assoc 7 ELIST) ELIST))
     (entupd ENAME)))
 (princ))
;
;/////////////////////////////////////////////////////////////////////////////////////////
;
; F25 - Text Size Function.
;
(defun RMD_TS ()
 (cond
   ((= FSCL# 0)(setq TSIZ# (setvar "textsize" 9)))
   ((= FSCL# 1)(setq TSIZ# (setvar "textsize" 4.5)))
   ((= FSCL# 2)(setq TSIZ# (setvar "textsize" 3)))
   ((= FSCL# 3)(setq TSIZ# (setvar "textsize" 2.25))))
 (princ))
;
;/////////////////////////////////////////////////////////////////////////////////////////
;
; F26 - Text Size Update Function.
;
(defun RMD_TSU ()
 (if (setq INDEX 0 SS (ssget "_x" (list
                                    (cons 0  "TEXT")
                                    (cons -4 "<or")
                                    (cons 8  "M-HVAC-IDEN")
                                    (cons 8  "M-EXHS-IDEN")
                                    (cons 8  "M-DUST-IDEN")
                                    (cons -4 "or>"))))
   (while
     (setq ENAME (ssname SS (setq INDEX (1+ INDEX))))
     (setq ELIST (entget ENAME))
     (entmod (subst (cons 40 TSIZ#)(assoc 40 ELIST) ELIST))
     (entupd ENAME)))
 (princ))
;
;///////////////////////////////////////////////////////////////////////////////////////// 

 

And of course you will need to get the inputs in the main function:

 

 ;/////////////////////////////////////////////////////////////////////////////////////////
;
; F05 - Main Function.
;
(defun RMD_MF ()
 (or D::COM$  (setq D::COM$  "HDUCT"))
 (or D::SYS$  (setq D::SYS$  "SUPPLY"))
 (or I::TYP$  (setq I::TYP$  "NONE"))
 (or E::DIR$  (setq E::DIR$  "LEFT"))
 (or E::ANG$  (setq E::ANG$  "90"))
 (or E::RAD$  (setq E::RAD$  "SHORT"))
 (or T::OFF$  (setq T::OFF$  "LEFT-OFF"))
 (or T::ANG$  (setq T::ANG$  "10D"))
 (or B::OFF$  (setq B::OFF$  "LEFTOFF"))
 (or F::STY$  (setq F::STY$  "ARCH"))
 (or F::SCL#  (setq F::SCL#   0))
 (or D::WID1# (setq D::WID1#  36))
 (or D::WID2# (setq D::WID2# (- D::WID1# 6)))
 (or D::DEP1# (setq D::DEP1#  24))
 (or D::DEP2# (setq D::DEP2#  24))
 (or S::AM$   (setq S::AM$   "1"))
 (or F::SU$   (setq F::SU$   "1"))
 (or T::SU$   (setq T::SU$   "1"))
 (setq LOOP$ "Y")
 (setq FSCL_LIST (list "1/8\" = 1\'" "1/4\" = 1\'" "3/8\" = 1\'" "1/2\" = 1\'"))
 (setq DCL_ID (load_dialog "RMD.dcl"))
 (if (not (new_dialog "MAIN" DCL_ID))
   (progn (princ "\nThe dialog file RMD.dcl was not found!")
          (princ "\nor is not in the ACAD Support File Search Path.")
     (exit)))
 (start_list "FSTY")(mapcar 'add_list FSTY_LIST)(end_list)
 (start_list "FSCL")(mapcar 'add_list FSCL_LIST)(end_list)
 (set_tile D::COM$ "1")
 (set_tile D::SYS$ "1")
 (set_tile I::TYP$ "1")
 (set_tile E::DIR$ "1")
 (set_tile E::ANG$ "1")
 (set_tile E::RAD$ "1")
 (set_tile T::OFF$ "1")
 (set_tile T::ANG$ "1")
 (set_tile B::OFF$ "1")
 (set_tile F::STY$ "1")
 (set_tile "SAM" S::AM$)
 (set_tile "FSU" F::SU$)
 (set_tile "TSU" T::SU$)
 (RMD_DIS)
 (RMD_FIS)
 (RMD_CMT)
 (if F::SCL#DEF (set_tile "FSCL" (itoa F::SCL#DEF)))
 (action_tile "HDUCT"      "(setq D::COM$ \"HDUCT\")     (RMD_DIS)(RMD_CMT)")
 (action_tile "VDUCT"      "(setq D::COM$ \"VDUCT\")     (RMD_DIS)(RMD_CMT)")
 (action_tile "RADIUS"     "(setq D::COM$ \"RADIUS\")    (RMD_DIS)(RMD_CMT)")
 (action_tile "MITERED"    "(setq D::COM$ \"MITERED\")   (RMD_DIS)(RMD_CMT)")
 (action_tile "TRANSITION" "(setq D::COM$ \"TRANSITION\")(RMD_DIS)(RMD_CMT)")
 (action_tile "CAP"        "(setq D::COM$ \"CAP\")       (RMD_DIS)(RMD_CMT)")
 (action_tile "TAKE-OFF"   "(setq D::COM$ \"TAKE-OFF\")  (RMD_DIS)(RMD_CMT)")
 (action_tile "FCON"       "(setq D::COM$ \"FCON\")      (RMD_DIS)(RMD_CMT)")
 (action_tile "SUPPLY"     "(setq D::SYS$ \"SUPPLY\")    (RMD_DIS)(RMD_CMT)")
 (action_tile "RETURN"     "(setq D::SYS$ \"RETURN\")    (RMD_DIS)(RMD_CMT)")
 (action_tile "DUST"       "(setq D::SYS$ \"DUST\")      (RMD_DIS)(RMD_CMT)")
 (action_tile "EXHAUST"    "(setq D::SYS$ \"EXHAUST\")   (RMD_DIS)(RMD_CMT)")
 (action_tile "NONE"       "(setq I::TYP$ \"NONE\")      (RMD_DIS)")
 (action_tile "INTERNAL"   "(setq I::TYP$ \"INTERNAL\")  (RMD_DIS)")
 (action_tile "EXTERNAL"   "(setq I::TYP$ \"EXTERNAL\")  (RMD_DIS)")
 (action_tile "BOTH"       "(setq I::TYP$ \"BOTH\")      (RMD_DIS)")
 (action_tile "LEFT"       "(setq E::DIR$ \"LEFT\")      (RMD_DIS)")
 (action_tile "RIGHT"      "(setq E::DIR$ \"RIGHT\")     (RMD_DIS)")
 (action_tile "90"         "(setq E::ANG$ \"90\")        (RMD_DIS)")
 (action_tile "60"         "(setq E::ANG$ \"60\")        (RMD_DIS)")
 (action_tile "45"         "(setq E::ANG$ \"45\")        (RMD_DIS)")
 (action_tile "30"         "(setq E::ANG$ \"30\")        (RMD_DIS)")
 (action_tile "SHORT"      "(setq E::RAD$ \"SHORT\")     (RMD_DIS)")
 (action_tile "LONG"       "(setq E::RAD$ \"LONG\")      (RMD_DIS)")
 (action_tile "LEFT-OFF"   "(setq T::OFF$ \"LEFT-OFF\")  (RMD_DIS)")
 (action_tile "MIDDLE"     "(setq T::OFF$ \"MIDDLE\")    (RMD_DIS)")
 (action_tile "RIGHT-OFF"  "(setq T::OFF$ \"RIGHT-OFF\") (RMD_DIS)")
 (action_tile "10D"        "(setq T::ANG$ \"10D\")       (RMD_DIS)")
 (action_tile "15D"        "(setq T::ANG$ \"15D\")       (RMD_DIS)")
 (action_tile "20D"        "(setq T::ANG$ \"20D\")       (RMD_DIS)")
 (action_tile "30D"        "(setq T::ANG$ \"30D\")       (RMD_DIS)")
 (action_tile "LEFTOFF"    "(setq B::OFF$ \"LEFTOFF\")   (RMD_DIS)")
 (action_tile "RIGHTOFF"   "(setq B::OFF$ \"RIGHTOFF\")  (RMD_DIS)")
 (action_tile "ARCH"       "(setq F::STY$ \"ARCH\")      (RMD_FIS)")
 (action_tile "ROMAND"     "(setq F::STY$ \"ROMAND\")    (RMD_FIS)")
 (action_tile "ROMANS"     "(setq F::STY$ \"ROMANS\")    (RMD_FIS)")
 (action_tile "SLANTED"    "(setq F::STY$ \"SLANTED\")   (RMD_FIS)")
 (action_tile "FSCL"       "(setq F::SCL# $value)")
 (action_tile "SAM"        "(setq S::AM$  $value)")
 (action_tile "FSU"        "(setq F::SU$  $value)")
 (action_tile "TSU"        "(setq T::SU$  $value)")
 (action_tile "accept"
   (strcat
    "(progn
       (setq F::SCL# (atoi (get_tile \"FSCL\")) F::SCL#DEF F::SCL#)"            
      "(done_dialog)(setq button T))"))
 (action_tile "IDP"    "(RMD_IDP)")
 (action_tile "ADP"    "(RMD_ADP)")
 (action_tile "cancel" "(done_dialog)(setq button nil)(RMD_RUS)")
 (start_dialog)(unload_dialog DCL_ID)
 (if button
   (progn
     (setvar "cmdecho" 0) (setvar "orthomode" 1)(setvar "osmode" (nth 2 SUS))
     (setvar "blipmode" 0)(setvar "angbase" 0)  (setvar "angdir" 0)
     (setq DCOM$  D::COM$  DSYS$  D::SYS$  ITYP$  I::TYP$  EDIR$  E::DIR$  EANG$  E::ANG$
           ERAD$  E::RAD$  TOFF$  T::OFF$  TANG$  T::ANG$  BOFF$  B::OFF$  FSTY$  F::STY$
           FSCL#  F::SCL#  FSU$   F::SU$   TSU$   T::SU$   SAM$   S::AM$   DWID1# D::WID1#
           DWID2# D::WID2# DDEP1# D::DEP1# DDEP2# D::DEP2#)
     (if (or (= DCOM$ "HDUCT")(= DCOM$ "VDUCT"))
       (progn
         (initget (+ 2 4))
         (setq DWID1# (cond ((getint (strcat "\nSpecify duct width. <"(itoa DWID1#)">: ")))(T DWID1#)))
         (cond
           ((< DWID1# 6)(RMD_DSW)))
         (initget (+ 2 4))
         (setq DDEP1# (cond ((getint (strcat "\nSpecify duct depth. <"(itoa DDEP1#)">: ")))(T DDEP1#)))
         (cond
           ((< DDEP1# 3)(RMD_DSW)))))
     (if (or (= DCOM$ "RADIUS")(= DCOM$ "MITERED")(= DCOM$ "CAP")(= DCOM$ "TAKE-OFF")(= DCOM$ "FCON"))
       (progn
         (initget (+ 2 4))
         (setq DWID1# (cond ((getint (strcat "\nSpecify fitting width. <"(itoa DWID1#)">: ")))(T DWID1#)))
         (cond
           ((< DWID1# 6)(RMD_FSW)))
         (initget (+ 2 4))
         (setq DDEP1# (cond ((getint (strcat "\nSpecify fitting depth. <"(itoa DDEP1#)">: ")))(T DDEP1#)))
         (cond
           ((< DDEP1# 3)(RMD_FSW)))))
     (cond
       ((= DCOM$ "TRANSITION")
       (initget (+ 2 4))
       (setq DWID1# (cond ((getint (strcat "\nSpecify transition inlet width. <"(itoa DWID1#)">: ")))(T DWID1#)))
       (setq DWID2# (- DWID1# 6))
       (cond
         ((< DWID1# 12)(RMD_TSW)))
       (initget (+ 2 4))
       (setq DWID2# (cond ((getint (strcat "\nSpecify transition outlet width. <"(itoa DWID2#)">: ")))(T DWID2#)))
       (cond
         ((< DWID2# 6)      (RMD_TSW))
         ((>= DWID2# DWID1#)(RMD_TSW)))
       (initget (+ 2 4))
       (setq DDEP1# (cond ((getint (strcat "\nSpecify transition inlet depth. <"(itoa DDEP1#)">: ")))(T DDEP1#)))
       (setq DDEP2# DDEP1#)
       (initget (+ 2 4))
       (setq DDEP2# (cond ((getint (strcat "\nSpecify transition outlet depth. <"(itoa DDEP2#)">: ")))(T DDEP2#)))
       (cond
         ((< DDEP2# 3)     (RMD_TSW))
         ((> DDEP2# DDEP1#)(RMD_TSW)))))
     (setvar "osmode" (nth 2 SUS))
     (setvar "orthomode" 1)
     (cond
       ((= DCOM$ "HDUCT")
       (setq CL01# (getpoint "\nSpecify duct starting point: ")
             CL02# (getpoint CL01# "\nSpecify duct ending point: "))))
     (if (or (= DCOM$ "VDUCT")(= DCOM$ "RADIUS")(= DCOM$ "MITERED")(= DCOM$ "CAP")(= DCOM$ "TAKE-OFF")(= DCOM$ "FCON"))
       (progn
         (setq CL01# (getpoint "\nSpecify duct/fitting insertion point: ")
               CL02# (getpoint CL01# "\nDrag cursor and pick a point for insertion angle."))))
     (cond
       ((= DCOM$ "TRANSITION")
       (setq CL01# (getpoint "\nSpecify transition insertion point: ")
             CL02# (getpoint CL01# "\nDrag cursor and pick a point for insertion angle."))))
     (setvar "osmode" 0)
     (cond
       ((= DCOM$ "HDUCT")     (RMD_HDUCT))
       ((= DCOM$ "VDUCT")     (RMD_VDUCT))
       ((= DCOM$ "RADIUS")    (RMD_RADIUS))
       ((= DCOM$ "MITERED")   (RMD_MITERED))
       ((= DCOM$ "TRANSITION")(RMD_TRANSITION))
       ((= DCOM$ "CAP")       (RMD_CAP))
       ((= DCOM$ "TAKE-OFF")  (RMD_TAKE-OFF))
       ((= DCOM$ "FCON")      (RMD_FCON))
       ((= DCOM$ "DAMPER")    (RMD_DAMPER)))
     (RMD_PL)))
 (princ))
;
;/////////////////////////////////////////////////////////////////////////////////////////  

 

 

With Entity Make certain things need to occur first before other things can happen. Keep this in mind.

If you concentrate on the functions I posted you will find your answers. If you get stuck let me know.

 

Good Luck,

The Buzzard

Link to comment
Share on other sites

Thanks for the quick response! Looks like I am going to be dusting the old brain off. Seriously though…Thanks for the info! I will be working on it this week.

Malice

Link to comment
Share on other sites

Just my humble opinion, but I think it would be good to have the layer/textstyle in the code, not the dialog, but all the settings at the top of the code, and clearly annotated. This way, the user can set the layers/styles to their company standard and this removes the risk of a user straying from the company standards.

Link to comment
Share on other sites

Just my humble opinion, but I think it would be good to have the layer/textstyle in the code, not the dialog, but all the settings at the top of the code, and clearly annotated. This way, the user can set the layers/styles to their company standard and this removes the risk of a user straying from the company standards.

I know what you mean Lee, But there were several requests to use the default text style and I set it up that way. The previous way I had it does not seem to charming to say the least, But I do not plan to rewrite this code in any event. They can set it up any way that makes them happy. I just gave what I had. They can also post there questions to a new thread with regard to dealing with the text specifically and not so much with regard to this code. I think its to the other persons benefit to approach it that way.

Link to comment
Share on other sites

  • 1 year later...

Hi,

 

I am new to this forum. A search for ways to efficiently do the duct drafting took me here. I just loaded the LISP, but have no clue how to use it. I typed RMD2 in the command line, but that didnt help. I use Autocad 2007.

 

Thanks in advance.

Link to comment
Share on other sites

Hi,

 

I am new to this forum. A search for ways to efficiently do the duct drafting took me here. I just loaded the LISP, but have no clue how to use it. I typed RMD2 in the command line, but that didnt help. I use Autocad 2007.

 

Thanks in advance.

Not to take away from Buzzard's program as it is very exquisite, here's another alternative as well for vanilla 2D CAD found here: http://www.cadtutor.net/forum/showthread.php?30545-*FREE*-HVAC-or-Piping-program-for-AutoCAD
  • Like 1
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...