cadmando2 Posted January 12, 2009 Posted January 12, 2009 Forgive me if you have a hard time understanding or any spelling errors. I've been working seven days a week and only cad operator work I'm just a little tired and burn out. Looking for any CAD operators who worked in the HVAC Field. I'm working for an HVAC engineering company where we do mechanical, electrical, lighting, fire and plumbing. Some projects we get have no CAD files to them so we end up doing is getting the scanned images from the client. We then convert to PDF file to a tiff file so it is more easy to manage by scaling and rotating. We then traced over the walls to creating a background. We are starting to use Mline command to create walls. I like how Autodesk Revit creates wall so quick. We then Xref the background into a drawing file with the title block. Depending on the upgrade we then insert the appropriate image and trace over what is existing equipment, diffusers and duct. For example: I'm on a middle school project is three store building. Set the appropriate layer, inserted the mechanical image. Then I copy Return air, Supply air and exhausts diffusers symbols from one project to another. I go through and paste over the top of existing equipment, diffusers and single-line Duct etc.. Then I go through and add duct sizes, diffusers and information.. This is a very time consuming and wondering if there's any lisp routines are commands to make my job easier. Putting in the duct size and duct information is what takes the most time. We commonly use .094 for text height which varies from the drawing scale factor. I wish there streamline this. I worked at a electric company 10 years ago we use a program called UDS “ utility design software”. The software allows you to select from a toolbar the size of a conduit which used polyline command. We are able to draw the conduit and then go back later and select the conduit used a different command which would allow you to place text anywhere above or below it the size of the conduit “polyline”. And then exporting misinformation out the length and size of the conduit to an Excel spreadsheet. That would be sweet program to use single and double line duct work and any blocks. I wonder if there's a leader line command that will allow you to select a block width attributes and extract the information and place it at the end of a leader line? Quote
Lee Mac Posted January 12, 2009 Posted January 12, 2009 I wonder if there's a leader line command that will allow you to select a block width attributes and extract the information and place it at the end of a leader line? Assuming you meant "with attributes": (defun c:attlead (/ varLst oldVars ss aBlock Attval Attlist) (setq varLst (list "CMDECHO" "CLAYER") oldVars (mapcar 'getvar varLst)) (setvar "cmdecho" 0) (if (not (tblsearch "Layer" "Block-Leader")) (command "-layer" "m" "Block-Leader" "") (setvar "clayer" "Block-Leader")) (while (setq ss (ssget ":S" (list (cons 0 "INSERT")))) (if (setq aBlock (entnext (ssname ss 0))) (progn (setq Attlist "Attributes:") (while (/= "SEQEND" (cdr (assoc 0 (entget aBlock)))) (setq Attval (cdr (assoc 1 (entget aBlock))) Attlist (strcat Attlist "\n" Attval) aBlock (entnext aBlock))) (prompt "\nConstruct Leader...") (command "_qleader" pause pause "" "" Attlist "")) (princ "\n<!> Block Has No Attributes <!>"))) (mapcar 'setvar varLst oldVars) (princ)) Quote
cadmando2 Posted January 13, 2009 Author Posted January 13, 2009 Thanks Lee, you come threw for a lot. Now if I can find away to create a command that will add attributes to a pline. Do you know if there is a way with out creating a block? Quote
Lee Mac Posted January 13, 2009 Posted January 13, 2009 See here: http://www.cadtutor.net/forum/showthread.php?t=31153 Quote
bellasolutions11 Posted September 26, 2009 Posted September 26, 2009 look for Custom HVAC Routes thanks for ssharing this post. Quote
Lee Mac Posted September 26, 2009 Posted September 26, 2009 Why not try searching for it first: http://www.cadtutor.net/forum/showthread.php?t=30545 :wink: Quote
The Buzzard Posted September 26, 2009 Posted September 26, 2009 Forgive me if you have a hard time understanding or any spelling errors. I've been working seven days a week and only cad operator work I'm just a little tired and burn out. Looking for any CAD operators who worked in the HVAC Field. I'm working for an HVAC engineering company where we do mechanical, electrical, lighting, fire and plumbing. Some projects we get have no CAD files to them so we end up doing is getting the scanned images from the client. We then convert to PDF file to a tiff file so it is more easy to manage by scaling and rotating. We then traced over the walls to creating a background. We are starting to use Mline command to create walls. I like how Autodesk Revit creates wall so quick. We then Xref the background into a drawing file with the title block. Depending on the upgrade we then insert the appropriate image and trace over what is existing equipment, diffusers and duct. For example: I'm on a middle school project is three store building. Set the appropriate layer, inserted the mechanical image. Then I copy Return air, Supply air and exhausts diffusers symbols from one project to another. I go through and paste over the top of existing equipment, diffusers and single-line Duct etc.. Then I go through and add duct sizes, diffusers and information.. This is a very time consuming and wondering if there's any lisp routines are commands to make my job easier. Putting in the duct size and duct information is what takes the most time. We commonly use .094 for text height which varies from the drawing scale factor. I wish there streamline this. I worked at a electric company 10 years ago we use a program called UDS “ utility design software”. The software allows you to select from a toolbar the size of a conduit which used polyline command. We are able to draw the conduit and then go back later and select the conduit used a different command which would allow you to place text anywhere above or below it the size of the conduit “polyline”. And then exporting misinformation out the length and size of the conduit to an Excel spreadsheet. That would be sweet program to use single and double line duct work and any blocks. I wonder if there's a leader line command that will allow you to select a block width attributes and extract the information and place it at the end of a leader line? Here is an oldie from Barry Bowen. ; DUCTE.LSP [Article Figure 1] (c)1991, Barry Bowen ; *********************************************************| ; DUCTE.LSP ; Copyright (c) Barry R. Bowen 1990 ; ---------------------------------------------------------| (defun C:DUCTE (/ ANS ANG ANG1 ANG2 ANG3 DANG NANG BM CL CPT1 CPT2 CPT3 CPT4 DH DU DW HDW NDW OM PT1 PT2 PT3 PT4 PT1C P1B P1C P1D WW1 WW2) (V3) (setq OM (getvar "orthomode")) (setvar "orthomode" 1) (LS "DUCT" "3" "") (if (not TRA) (setq TRA (getangle "\nTransition Angle<15> <20> <30>: "))) (NDUCT) (RL) (setvar "orthomode" OM) (V4) ) (defun C:TANG () (setq TRA (getangle "\nTransition Angle<15> <20> <30>: "))) (defun D90 () (* pi 0.5)) (defun D270 () (* pi 1.5)) (defun NPT () (setq PT1C (polar PT3 ANG3 (/ WW2 (sin TRA))))) (defun NPT1 () (setq PT1C (polar PT3 ANG2 (/ WW2 (- (sin TRA)))))) ; --------------------- NDUCT -----------------------------| (defun NDUCT () (if (not DW) (setq DU 0) (setq DU DW)) (initget (+ 2 4)) (setq DW (getint (strcat "\nDuct Width <" (itoa DU) ">: "))) (if (not DW) (setq DW DU)) (initget (+ 2 4)) (setq DH (getint (strcat "\nDepth <" (itoa DW) ">: "))) (if (not DH) (setq DH DW)) (setq HDW (/ DW 2.0)) (EDG) ) ; ---------------------- EDG ------------------------------| (defun EDG () (setq PT1 (getpoint "\nBegining Point: ") PT2 (getpoint PT1 "\nEndpoint: ")) (grdraw PT1 PT2 1) (setq ANG (getangle PT2 "\nSide: ") PT3 (polar PT1 ANG DW) PT4 (polar PT2 ANG DW) DANG (angle PT1 PT2)) (command "pline" PT1 "w" 0 0 PT2 PT4 PT3 "") (ADDSIZE) (NEXT) (setq ANS "T") (while ANS (initget "C T E") (setq ANS (getkword "\n<C>ontinue, <T>urn, <E>xit: ")) (cond ((= ANS "C") (NEXT)) ((= ANS "T") (TURN) (NDUCT)) (T (setq ANS nil)) ) ) ) ; --------------------- NEXT ------------------------------| (defun NEXT () (setq PT1 PT2 PT3 PT4) (initget (+ 2 4)) (setq NDW (getint "\nNext Duct Width: ")) (while (/= NDW nil) (initget (+ 2 4)) (SETQ DH (getint (strcat "\nDepth <" (itoa NDW) ">: "))) (if (not DH) (setq DH NDW)) (TRAN) (setq PT1 PT2 PT3 PT4) (initget (+ 2 4)) (setq NDW (getint "\nNext Duct Width: ")) ) ) ; -------------------- TRAN -------------------------------| (defun TRAN () (setq PT2 (getpoint PT1 "\nNext point: ") ANG1 (angle PT1 PT2) ANG2 (- ANG1 TRA) ANG3 (+ ANG1 TRA) WW1 (* NDW 0.5) WW2 (- WW1 HDW) PT4 (polar PT2 ANG NDW)) (cond ((and (= ANG1 0) (> ANG 4.0)) (NPT)) ((and (= ANG1 0) (< ANG 2.0)) (NPT1)) ((and (= ANG1 pi) (< ANG 2.0)) (NPT)) ((and (= ANG1 pi) (> ANG 4.0)) (NPT1)) ((and (= ANG1 (D90)) (= ANG 0)) (NPT)) ((and (= ANG1 (D90)) (= ANG pi)) (NPT1)) ((and (= ANG1 (D270)) (= ANG 0)) (NPT1)) ((and (= ANG1 (D270)) (= ANG pi)) (NPT)) ) (SETQ P1B (POLAR PT1 ANG NDW) PT1C (INTERS PT3 PT1C PT4 P1B NIL) P1D (polar PT1C (angle PT4 PT2) NDW)) (command "Pline" PT1 P1D PT1C PT3 "" "pline" P1D PT2 PT4 PT1C "") (setq PT1 P1D PT3 PT1C HDW WW1 DW NDW) (ADDSIZE) ) ; ---------------------- TURN -----------------------------| (defun TURN () (setq NANG (getangle PT2 "\nDirection: ") ANG1 (angle PT2 PT4)) (if (/= NANG ANG1) (progn (setq CPT1 (polar PT4 DANG (+ 6.0 DW)) CPT4 (polar PT1 DANG 6.0) CPT2 (polar CPT1 NANG (+ 6.0 DW)) CPT3 (polar CPT4 NANG 6.0)) (command "pline" PT4 CPT1 CPT2 CPT3 CPT4 PT1 "") ) (progn (setq CPT1 (polar PT1 DANG (+ 6.0 DW)) CPT4 (polar PT4 DANG 6.0) CPT2 (polar CPT1 NANG (+ 6.0 DW)) CPT3 (polar CPT4 NANG 6.0)) (command "pline" PT1 CPT1 CPT2 CPT3 CPT4 PT4 "") ) ) ) ; ------------------------ ADDSIZE ------------------------| (defun ADDSIZE (/ HMPT MPT SIZE TH) (setq TH (getvar "textsize") SIZE (strcat (RTOS DW 2 0) "/" (RTOS DH 2 0)) HMPT (polar PT1 (angle PT1 PT2) (/ (distance PT1 PT2) 2.0)) MPT (polar HMPT ANG HDW)) (LS "TEXT" "7" "") (command "text" "m" MPT TH 0 SIZE) (RL) ) ; ------------------------ V3.LSP -------------------------- (defun V3 () (setq BM (getvar "blipmode")) (setvar "blipmode" 0) (setvar "cmdecho" 0) (command "undo" "group") ) ; ------------------------ V4.LSP -------------------------- (defun V4 (/ BA) (setvar "blipmode" BM) (command "undo" "end") (prompt "\n") (setq BA "Program Completed. . . . .") ) ; ------------------------- LS ----------------------------| (defun LS (NLAY CLR LT / LAY FRZ) (setq CL (getvar "clayer")) (setq LAY (tblsearch "layer" NLAY)) (if (not LAY) (command "layer" "m" NLAY "c" CLR "" "lt" LT "" "") (progn (setq FRZ (cdr (assoc 70 LAY))) (if (= FRZ 65) (progn (command "layer" "t" NLAY "") (command "layer" "s" NLAY "") ) (command "layer" "s" NLAY "") )) ) ) ; -------------------------- RL ---------------------------| (defun RL () (command "layer" "s" CL "")) (prompt "\nDuctE Program Loaded.....") (prompt "\nCopyright (c) Barry R. Bowen 1990") (princ) Quote
Recommended Posts
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.