Community
AutoCAD Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Overlapping Lines

7 REPLIES 7
Reply
Message 1 of 8
Anonymous
3228 Views, 7 Replies

Overlapping Lines

Hello guys,

I have a problem and can't find out. I received a file to clean and organize. My problem started with overlapping lines but they don't match exactly. Here is the context: The red line (near de cursor first picture) is overlapping the blue line (see at second picture). I wanted to trim the patch between the vertical red lines. But its over 50 windows into the drawing. I tried OVERKILL but it can't do what I want. Is there a way to do this?

Thank you in advance.

 

WhatsApp Image 2016-10-26 at 19.56.16.jpegWhatsApp Image 2016-10-26 at 19.56.49.jpeg

7 REPLIES 7
Message 2 of 8
GrantsPirate
in reply to: Anonymous

You should be able to start TRIM command, hit enter to select everything in the drawing, use a crossing window or Fence selection to go across the red lines vertically.  I tested here but I don't know exactly how that drawing is made so YMMV.


GrantsPirate
Piping and Mech. Designer
EXPERT ELITE MEMBER
Always save a copy of the drawing before trying anything suggested here.
----------------------------------------------------------------------------
If something I wrote can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.

Message 3 of 8
imadHabash
in reply to: Anonymous

Hi and Welcome to AutoDesk Forum,

 

>>  But its over 50 windows into the drawing. <<

i understand from your post that there is 50 overlapping items,if i'm right active Erase command and select these overlapped items and while you're in selecting mode press and hold Shift key to deselect one of these 50 item and as a result 49 will deleted.

 

>> I wanted to trim the patch between the vertical red lines <<

to trim this line just select the two vertical window lines then enter then select the line between previous two red line.

 

Note:

Trim command will not work if the window block not placed precisely over the wall.

 

 

Imad Habash

EESignature

Message 4 of 8
Anonymous
in reply to: GrantsPirate

Hey Grants,

I've tried this already. But the drawing is a mess and the lines don't colides perfectly. Thank you anyway.

See picture below:

 

WhatsApp Image 2016-10-26 at 20.02.10.jpeg

 

 

Message 5 of 8
Anonymous
in reply to: imadHabash

Hi imadhabash,

Its a window drawing btw, sorry for that.

I can't trim the way you said because the drawing is a mess and it's not accurate.

I want a quick way to subtract the path of blue line along the red line. This situation repeats more than 50 times (see picture as exemple). It seems that OVERKILL can not subtract, it just kills the red line segments.

Thank you anyway.

Ex.JPG

Message 6 of 8
GrantsPirate
in reply to: Anonymous

Right way - I would move the windows to where they are supposed to be, 50 windows is fairly trivial.  

 

Wrong way - If you want a work around then edit the block and add longer vertical lines, use the trim command on each location, redefine the block.

 

Wrong Way - Or set your osnap to endpoint and use the break command.

 

I say wrong way because the windows will still be in the wrong location.


GrantsPirate
Piping and Mech. Designer
EXPERT ELITE MEMBER
Always save a copy of the drawing before trying anything suggested here.
----------------------------------------------------------------------------
If something I wrote can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.

Message 7 of 8
Anonymous
in reply to: GrantsPirate

wow, BREAK is pretty decent. But still tiresome if you imagine that you need to repeat the command and pick points over and over, every line, every file. There must be other way to do this quickly, automatic, like OVERKILL or a LISP with BREAK function.

Definitely agree with you its the wrong way. But the supervisor don't want to know is its right or wrong. The problem, after all, is that the blue color is thicker than red color (according to CTB) and it print thicker even if draw order is sent to back. I'll use BREAK for while but still waintg for a faster technique before check as solution. Thank you.
Message 8 of 8
Kent1Cooper
in reply to: Anonymous


@Anonymous wrote:
wow, BREAK is pretty decent. But still tiresome if you imagine that you need to repeat the command and pick points over and over, every line, every file. There must be other way to do this quickly, automatic, like ... a LISP with BREAK function.
....

Here's one way to at least do one whole wall edge's worth all at once automatically, by selecting first the long [your blue] Line and then the shorter [your red] Lines over whose lengths you want to Break the long one [presumably with a window, or WP if not orthogonal].

 

The tricky part was overcoming the different possibilities about the direction the various Lines were drawn, and the draw order of the shorter ones [it would be much easier if you could count on the same relationship between all of them, and the short ones drawn in sequence, but I would assume you can't], and the question of whether the part of the longer one that still needs pieces Broken out of it is the original entity or the remainder entity from the previous Break.

 

Lightly tested, but it seems to work with different sequences in the draw order of the short ones, and different direction of the long one relative to the short ones.  None of the usual bells and whistles yet.

 

(defun C:BOL ; = Break Overlapping Lines
  (/ long longpieces shortss n short shortdata foundit m subject breakthis)
  (setq
    long (car (entsel "\nSelect long line to Break where overlapped: "))
    longpieces (list long)
  ); setq
  (redraw long 3); highlight
  (prompt "\nFor overlapping lines over whose length to Break the long line,")
  (setq shortss (ssget '((0 . "LINE"))))
  (if (and long shortss)
    (repeat (setq n (sslength shortss))
      (setq
        short (ssname shortss (setq n (1- n)))
        shortdata (entget short)
        shortstart (cdr (assoc 10 shortdata))
        shortend (cdr (assoc 11 shortdata))
        foundit nil ; reset for (while) loop
        m 0 ; counter for stepping through longpieces
      ); setq
      (while (and (< m (length longpieces)) (not foundit))
        (setq subject (nth m longpieces))
        (if
          (not ; if (not) returns T, subject line is the one to Break
            (equal ; closest points on subject to both ends of short line the same
                ; i.e. short line's length does not overlap subject line
              (vlax-curve-getClosestPointTo subject shortstart)
              (vlax-curve-getClosestPointTo subject shortend)
              1e-4
            ); equal
          ); not
          (setq ; then
            breakthis subject
            foundit T ; stop (while) loop
          ); setq
          (setq m (1+ m)); else -- next short line
        ); if
      ); while
      (command "_.break" breakthis "_none" shortstart "_none" shortend)
      (setq longpieces (cons (entlast) longpieces)); add remainder to list
    ); repeat
  ); if
); defun

That could probably be expanded on to select more than one combination at once, if you can count on the short ones being within some definable tolerance of lying right on the long ones.

 

Kent Cooper, AIA

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

AutoCAD Inside the Factory


Autodesk Design & Make Report