Jump to content

Line Type generation - double line


Recommended Posts

Posted

Does anyone know how I can create a double parallel line type? without being forced to use offset or a polyline with a width?

 

The situation is this: I have an entire cities worth of sidewalk data - unfortunately it is a single line. I need it to be 2 lines. I don't particularly want to go through and offset all of these lines as it would take me forever and a day. I also cant use a polyline with a width as every vertex then gets a vertical line. Using a polyline with a fill is also out - the client doesn't like it.

 

I wanted to create a custom line type so when I import the sidewalk data I can simply assign the double line to the layer and be done. when I use the custom line tool however CAD only recognizes one of the lines. Even if I put 2 points at the ends of the line centered between them.

 

Any ideas?

Posted

Does Map 3D have a Multiline command (MLINE)?

 

Does the single line in the existing drawing represent the centerline of the sidewalk?

 

Two possible solutions existing for offsetting lines and they rely on custom lisp routines created by forum member Lee Mac. They're called Double Offset and Dynamic Offset and both can be found here...

 

http://lee-mac.com/programs.html

Posted

it does have an mline command but that requires me to redraw all the sidewalks :(

 

I think the dynamic offset might work (at least I can offset the whole market at once...) I'll give it a try!

 

Thanks!

Posted

If you are mapimporting a shape file for the sidewalks you can use the data connect instead and create the double line style in the style editor.

Posted

A couple of contradictions is every sidewalk made up of single lines ?

 

If its made up of plines then easy you can do all in one go provided the rule is the same that the pline is central or a fixed offset and always drawn in one direction. This would be done via a simple lisp.

 

If individual lines a bit more complex as convert to plines first using join then do the two offsets. Provided the lines do not touch another sidewalk section line it again could possibly be automated.

 

Post a dwg

Posted

Murph_map - I've tried using the style editor and can never get the 2 lines to be offset from each other.

 

Bigal - yes every sidwalk is shown as a single lines. I can convert it to Plines - and yes it would be a fixed offset, always in one direction.

 

Sample of the data I'm working with:

 

sidewalks.dwg

Posted
shown as a single lines

A quick look and they appear to have been drawn anticlockwise and are plines so a window pick selection take first pline work out left/right then join others and offset. Need a little bit of time. Anybody else step in ! Would put offset on a different layer so left right can be altered.

 

Interesting changed lines to a different layer then PE M pick all J 0.0 now all linked plines where applicable so offset is easy except for in/out

Posted (edited)

This not perfect because the dwg is not perfect, I still need to convert the longer lines to plines.

(defun c:multpl ( / ss x obj len)
(command "-layer" "m" "bm_sidewalk2" "c" 1 "bm_sidewalk2" "m" "bm_sidewalk3" "c" 5 "bm_sidewalk3" "")
(setq ss (ssget "X" (list (cons 0 "LINE")(cons 8 "bm_sidewalk"))))
(repeat (setq x (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq x (- x 1)))))
(if (< (vla-get-length obj) 34.0)(vla-put-layer obj "bm_sidewalk2"))
)
(command "-layer" "off" "bm_sidewalk2" "") ;remove ticks
(setq ss nil)
(setq ss (ssget "X" (list (cons 0 "lwpolylINE,polyline")(cons 8 "bm_sidewalk"))))
(command "Pedit" "m" ss "" "J" 0.0 "") ; join all plines

(setq ss nil)
(setq ss (ssget "X" (list (cons 0 "lwpolylINE,polyline")(cons 8 "bm_sidewalk"))))
; now do offset
(setq pt (getpoint "pick outside"))
(repeat (setq x (sslength ss))
(command "offset" 10 (ssname ss (setq x (- x 1))) pt "")
(command "chprop" "Last" "" "LA" "bm_sidewalk3" "")
)
)

Edited by BIGAL

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...