Pipeline

Hi everybody,

The easiest way to draw a pipeline on a floor plan.
I thought of a double line but these are not listed in the linetype.
Is there a function to draw double lines? Or does anyone have another idea?
I'm om V21
Greetings
Johan

Comments

  • Anthony Apostolaros
    edited May 2023
    A Pline whose Global Width is the pipe's outside diameter?

    There's also an Mline command that draws double lines, but I don't think you can fillet the corners.
  • No fillet radius for mlines, but can do offset multi plines and radius is supported. Lots of lisp out there.

    Yes a 300 concrete pipe is actually 380 to outside.
  • Thanks Anthony and Alanh
  • I should have posted this for concrete pipes.

    ; pipe offset for different size pipes
    ; by Alan H July 2014
    ; replaces a single line with two lines at correct size of pipe allows for Outside diameter.

    (vl-load-com)
    ;(defun existLinetype (LineTypeName / item loaded lt)
    ; (setq doc (vla-get-activedocument (vlax-get-acad-object))) ; open database
    ; (vlax-for item (vla-get-linetypes doc)
    ; (if (= (strcase (vla-get-name item)) (strcase LineTypeName))
    ; (setq loaded T)
    ; )
    ; )

    ; (if (= Loaded T)
    ; (princ "loaded")
    ; (command "-linetype" "L" LineTypeName "P:\\my\\SUPPORTFILES\\CUSTOM.LIN" "")
    ; )
    ;)
    ;(existLinetype "EX_PIPE250")

    (defun pipeoffset (w / ang stpt pt3 pt4 obj whatis)

    (setq lt "Divide")
    (setq oldsnap (getvar "osmode"))
    (setvar "osmode" 0)
    (setq obj (entsel "\nPick line"))
    (setq objtype (vla-get-objectname (vlax-ename->vla-object (car obj))))
    (if (= "AcDbLINE" objtype)
    (progn
    (alert "You have picked an object which is not a line\nTry Again")
    (exit)
    )
    (princ "\nLine")
    )
    (setq stpt (assoc 10 (entget (car obj))))
    (setq stpt (list (nth 1 stpt)(nth 2 stpt)))
    (setq endpt (assoc 11 (entget (car obj))))
    (setq endpt (list (nth 1 endpt)(nth 2 endpt)))
    (setq ang (angle stpt endpt))
    (setq pt3 (polar stpt (+ ang (/ pi 2.0)) 1.0))
    (setq pt4 (polar stpt (- ang (/ pi 2.0)) 1.0))
    (command "offset" w obj pt3 "")
    (Command "chprop" "last" "" "LT" lt "")
    (command "offset" w obj pt4 "")
    (Command "chprop" "last" "" "LT" lt "")
    (command "Erase" obj "")
    (setvar "osmode" oldsnap)
    )


    (defun c:P100 ()
    (pipeoffset 0.06)
    )
    (defun c:P150 ()
    (pipeoffset 0.08)
    )

    (defun c:P225 ()
    (pipeoffset 0.152)
    )

    (defun c:P300 ()
    (pipeoffset 0.19)
    )

    (defun c:P375 ()
    (pipeoffset 0.228)
    )

    (defun c:P450 ()
    (pipeoffset 0.265)
    )

    (defun c:P525 ()
    (pipeoffset 0.308)
    )

    (defun c:P600 ()
    (pipeoffset 0.35)
    )

    (defun c:P675 ()
    (pipeoffset 0.39)
    )

    (defun c:P750 ()
    (pipeoffset 0.432)
    )

    (defun c:P825 ()
    (pipeoffset 0.473)
    )

    (defun c:P900 ()
    (pipeoffset 0.515)
    )

    (defun c:P975 ()
    (pipeoffset 0.528)
    )

    (defun c:P1050 ()
    (pipeoffset 0.597)
    )

    (defun c:P1125 ()
    (pipeoffset 0.6)
    )

    (defun c:P1200 ()
    (pipeoffset 0.68)
    )
    (defun c:P1350 ()
    (pipeoffset 0.715)
    )
    (princ)
    (alert "Enter pipe size at command line eg P300")
    (pipeoffset)