Multiline

Is some tool for BC, which allow to draw/create multiline?

Comments

  • There is currently no way to create a true multiline. THe best you can do is copy in an existing one and edit it using the properties bar.  The alternative is to google dline.lsp which creates polylines at a set distance from one another though this isnt that much better than just offseting lines.  Unfortunately Mlines are not hot on the priority list for development unless there is alot of interest from other users.  I am guessing that the new geometry library will make this transition considerably easier though. Here's hoping :)

  • Thanks. It's interest script, but I need 3 and 5 segment ML. But once again thanks.

  • I don't know of an existing tool, but it is possible to create a MLINE via lisp, see example. I don't know offhand how to set the style, but there ought to be a way

     

    Daniel

     

    (defun c:MyMline (/ app doc modelspace)
      (setq APP (vlax-get-acad-object)
            DOC (vla-get-activedocument APP)
            ModelSpace (vla-get-ModelSpace DOC)
            pt1 (getpoint "Pick Start Point: ")
            pt2 (getpoint pt1 "Next Point: ")
      )
      (DrawMline ModelSpace (list pt1 pt2))
      (princ)
    )

    (defun DrawMline (DocSpace PointList / e plist ptl)

      (setq ptl PointList
            plist '()
      )
      (foreach e ptl
        (setq plist (cons (car e) plist)
              plist (cons (cadr e) plist)
              plist (cons (caddr e) plist)
        )
      )
      (vla-addmline DocSpace
       (vlax-safearray-fill
        (vlax-make-safearray vlax-vbDouble
         (cons 0 (- (length plist) 1 )))
           (reverse plist)))
     )

  • you are right daniel. My last correspondence with Bricsys did allude to the ability to create an Mline with lisp or vba however at this point the only style available is "standard".  Unless this has changed recently then we are still stuck :(

  • Modification to draw any number of segments:

     

    (defun c:MyMline (/ app doc modelspace pl)
    (setq APP (vlax-get-acad-object)
    DOC (vla-get-activedocument APP)
    ModelSpace (vla-get-ModelSpace DOC)
    )
    (if (setq pt1 (getpoint "\nPick Start Point: ")
    pl (list pt1)
    pt2 pt1
    )
    (progn (while (setq pt2 (getpoint pt2 "\n Next Point: "))
    (setq pl (cons pt2 pl))
    )
    (DrawMline ModelSpace (reverse pl))
    )
    )
    (princ)
    )
  • I write to express my interest in MLINE tool.

    Although the script presented in this thread is somewhat helpful, it's not so convenient to use it.

    To point some things:

    1. You get a result only after you picked all the points of mline.

    2. How to continue the existing mline - the endpoints are not caught by snap?

    3. How to change the distance between parallel lines?

    4. It's only possible to change the position of a specific node through the Properties window - no drag by mouse, no snap.

     

    Any chances that we get an MLINE tool in the nearest time (weeks, months)?

    It is one of the things my coworkers miss very much since they moved from AutoCAD.

  • Hi all,

    well,  DLINE.lsp 

    http://www.autocadtrainerguy.com/AutoCAD_Stuff/AutoCADStuff.htm

    is the best alternative for the time being.

    One gets all the points mentioned by Станислав Игоревич Караханов done

    and it is possble to get multiple segments proceeding as follows :

    1.   create a double line with the total width if more segments are needed

    2.   pedit > join  all the created line and arc (if used) segments to two polylines

    3.   offset the outer or inner polyline as many times as the required segments and with the segment-widths 

    I find dline good because one can use arc segments and change the width while drawing the dline

    regards

    Konstantin

     


This discussion has been closed.