TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: Marc'Antonio Alessi on October 10, 2014, 05:41:36 AM

Title: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on October 10, 2014, 05:41:36 AM
I have a polyline that I know:
area         = 1512499.7 ...
perimeter = 12600
width of the track = 250 (in the example)

Is it possible calculate the total length of the segments?
(as in the picture: 3000+1000+950+1100 = 6050)
(http://www.theswamp.org/data:image/png;base64,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)
(http://www.theswamp.org/data:image/png;base64,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)
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: irneb on October 10, 2014, 06:25:34 AM
It's possible to calculate mathematically, but for one thing: Your dimensions are inconsistent as to what they measure. E.g. that "700" long piece is actually ... what ... 700+250?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: ribarm on October 10, 2014, 06:33:08 AM
Total length = Total area / width = 1512499.7 / 250.0 = 6049.9988 ~ 6050 = 3000 + 1000 + (700+250) + 1100
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: tombu on October 10, 2014, 06:35:41 AM
You are looking to select segments of a polyline and total the lengths of those segments?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on October 10, 2014, 08:28:39 AM
It's possible to calculate mathematically, but for one thing: Your dimensions are inconsistent as to what they measure. E.g. that "700" long piece is actually ... what ... 700+250?
I'm sorry, you're absolutely right (i have altered the image) here are other examples:
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on October 10, 2014, 08:37:55 AM
Total length = Total area / width = 1512499.7 / 250.0 = 6049.9988 ~ 6050 = 3000 + 1000 + (700+250) + 1100
Yes, I did not think it was that simple, I hope that there are no exceptions...
Grazie mille.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 08:54:37 AM
New question: is  there a way to calculate the maximum lenght of the profile as in the examples A and B?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: roy_043 on November 21, 2014, 09:15:07 AM
Why isn't the max. length of A: 3000+1000+250+1200+1100=6550?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: ribarm on November 21, 2014, 09:23:51 AM
Why isn't the max. length of A: 3000+1000+250+1200+1100=6550?

Roy, probably thought :
Why isn't the max. length of A: 3000+750+250+1200+1100=6300?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Bethrine on November 21, 2014, 09:29:29 AM
A: 3000+1000+(1200-250)+1100=6050

Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: ribarm on November 21, 2014, 09:40:05 AM
Why isn't the max. length of A: 3000+1000+250+1200+1100=6550?

Roy, probably thought :
Why isn't the max. length of A: 3000+750+250+1200+1100=6300?

I think the answer is : How can center polylines length be the same as those that are offset by half the width (250/2=125) ? Simply it can't be the same length - those polylines aren't colinear - they are curving in all 4 orthogonal ways (+X,-X,+Y,-Y)...
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Bethrine on November 21, 2014, 10:03:25 AM
 :?

I am not a programmer. I found it interesting as a math problem. Feel free to ignore me!  :-)
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 10:40:29 AM
I asked the question too early and without considering well: is a matter for the calculation of square tubing to build the figure, is a question that I was asked but I think that the calculation of the other figures is not correct. I think the request is just to know the total length of pipe required.

So in the example top/left the length is: 1160+1050+750 = 3000

@roy_043 > Why isn't the max. length of A: 3000+1000+250+1200+1100=6550?
        maybe this is the exact calculation  A: 3000+1000+500+1200+1100=6800

Now ask other explanations.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: CAB on November 21, 2014, 10:49:37 AM
Do you intend on making miter joints or butt joints?
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: owenwengerd on November 21, 2014, 12:08:12 PM
I think the request is just to know the total length of pipe required.

In that case the solution is very simple: calculate total enclosed area of the figure divided by width of the tubing.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 12:33:04 PM
Do you intend on making miter joints or butt joints?
I'm sorry but I did not understand the translation.

@owenwengerd:Thanks for answer.

 This should be the solution:
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: CAB on November 21, 2014, 01:20:59 PM
See example
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 03:42:02 PM
Thanks CAB:  >>>  Miter.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Bethrine on November 21, 2014, 03:54:56 PM
6550

You need the longer side.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 04:21:08 PM
To do the 250 piece I need to cut 500...
 
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: CAB on November 21, 2014, 04:29:27 PM
Well there is a better way. Need to add the blade widths
Green & magenta are flipped for cutting.
6550-6300=250 x250=62,500 in savings

You would need center line length from butt to butt.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 21, 2014, 04:49:21 PM
OK, this is valid. Now try with a sqared tube open on the top and closed with a cover so the magenta part can not be mirrored. Sorry for my english and the confusion.

Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: CAB on November 21, 2014, 05:06:40 PM
Not sure I understand.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 22, 2014, 04:15:09 AM
Sorry for my english:

1) a project may have from 20 to 200 of these conduits
2) the drawing of the conduits is 2D and with Polylines (closed or not > flag 70 = 0 or 1)
3) each conduits is made to measure and numbered
4) all joints are miter

Problem: find the total length of the conduits by considering each piece without any cut at 45 degrees.

I understand that with a program similar to the nesting is possible to calculate the optimized cutting considering all the conduits but, for simplicity, we consider as if the conduits are cut all at 90 degrees (before) and then 45 degrees where it serves to

I hope that my/google translation is understandable.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: owenwengerd on November 22, 2014, 09:41:47 AM
In that case the formula is (+ (/ enclosed-area conduit-width) (* conduit-width number-of-miters)).
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 22, 2014, 09:58:55 AM
In that case the formula is (+ (/ enclosed-area conduit-width) (* conduit-width number-of-miters)).
I had thought of such a thing, but how do I calculate the "number-of-miters"?

>>> 4) all joints are miter

In doubt, maybe I should specify: 4) all "L" joints are miter (not "T" joints)
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: CAB on November 22, 2014, 10:25:22 AM
Wow, 25 post & we finally get to see the entire problem.

The conduit is a "Raceway" made of channel shape material
No interior obstructions allowed.
Connections will be miter joints.
Material is open one side & therefore can not be flipped upside down
Butt joints could be made on tee connections with a window cut in the "run" member.

Does that sum it up?  :)
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 22, 2014, 11:59:55 AM
Wow, 25 post & we finally get to see the entire problem.

The conduit is a "Raceway" made of channel shape material
No interior obstructions allowed.
Connections will be miter joints.
Material is open one side & therefore can not be flipped upside down
Butt joints could be made on tee connections with a window cut in the "run" member.

Does that sum it up?  :)
In addition to the language problem is also that I do not deal with these constructions.
I humbly apologize...  :'( :oops:      :| now believe that nothing is missing. Thank you for your patience.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: owenwengerd on November 22, 2014, 01:12:55 PM
I had thought of such a thing, but how do I calculate the "number-of-miters"?

Each joint consists of two vertices. If the vertices are connected orthogonally, it is a butt joint; otherwise a miter joint. So the problem is reduced to grouping the vertices into orthogonal and non-orthogonal groups, then dividing the number of non-orthogonal vertices by two. I don't think this is a very difficult problem given that orthogonal vertices are always the conduit width apart.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 22, 2014, 02:57:03 PM
I had thought of such a thing, but how do I calculate the "number-of-miters"?

Each joint consists of two vertices. If the vertices are connected orthogonally, it is a butt joint; otherwise a miter joint. So the problem is reduced to grouping the vertices into orthogonal and non-orthogonal groups, then dividing the number of non-orthogonal vertices by two. I don't think this is a very difficult problem given that orthogonal vertices are always the conduit width apart.
Thanks Owen, I think this is a good start. Good weekend!
 
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: GP on November 22, 2014, 07:13:34 PM
My attempt  :-)

Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: owenwengerd on November 22, 2014, 07:41:19 PM
I think it would be best to withhold your solutions until Marco has tried on his own, else you deny him the opportunity to learn from the experience.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 23, 2014, 02:40:20 PM
I think it would be best to withhold your solutions until Marco has tried on his own, else you deny him the opportunity to learn from the experience.
you're right, I was trying but I would never have done such a thing!
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 23, 2014, 02:47:50 PM
My attempt  :)
this is not an attempt but it is much more  :o      tomorrow I'll try as soon as possible...
 
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: ribarm on November 23, 2014, 04:12:46 PM
My attempt is like Owen described in a few steps... No need for using additional routine...
Minimally tested...

Code: [Select]
(defun c:STL-all ( / vk_IsPointInside chk2ptcitouch ss le tl i lw ar ll ptlst ptlstn d1 d2 d3 d4 mitter )

  (defun vk_IsPointInside ( Point PointsList / PY P1Y P2Y )
  ; works with polygons only, i.e. if (equal (car PointsList) (last PointsList))
    (if (cdr PointsList)
      (/= (and (or (and (<= (setq PY  (cadr Point)
                                  P2Y (cadadr PointsList)
                                  P1Y (cadar PointsList)
                            )
                            PY
                        )
                        (< PY P2Y)
                    )
                    (and (> P1Y PY) (>= PY P2Y))
                )
                (> (car Point)
                    (+ (* (/ (- PY P1Y) (- P2Y P1Y))
                          (- (caadr PointsList) (caar PointsList))
                       )
                       (caar PointsList)
                    )
                )
          )
          (vk_IsPointInside Point (cdr PointsList))
      )
    )
  )

  (defun chk2ptcitouch ( p r lw / p1 p2 p3 p4 chk ) (vl-load-com)
    (setq p1 (mapcar '+ (list (car p) (cadr p) 0.0) (list r 0.0 0.0)))
    (setq p2 (mapcar '+ (list (car p) (cadr p) 0.0) (list (- r) 0.0 0.0)))
    (setq p3 (mapcar '+ (list (car p) (cadr p) 0.0) (list 0.0 r 0.0)))
    (setq p4 (mapcar '+ (list (car p) (cadr p) 0.0) (list 0.0 (- r) 0.0)))
    (setq chk 0)
    (if (vlax-curve-getparamatpoint lw p1) (setq chk (1+ chk)))
    (if (vlax-curve-getparamatpoint lw p2) (setq chk (1+ chk)))
    (if (vlax-curve-getparamatpoint lw p3) (setq chk (1+ chk)))
    (if (vlax-curve-getparamatpoint lw p4) (setq chk (1+ chk)))
    (if (eq chk 2) T nil)
  )
 
  (prompt "\nSelect all square-tube LWPOLYLINES")
  (setq ss (ssget (list '(0 . "LWPOLYLINE") '(-4 . "<or") '(70 . 1) '(70 . 129) '(-4 . "or>")
                  )
           )
  )
  (while (null ss)
    (prompt
      "\nEmpty sel.set... Please try selecting all square-tube LWPOLYLINES again..."
    )
    (setq ss (ssget (list '(0 . "LWPOLYLINE") '(-4 . "<or") '(70 . 1) '(70 . 129) '(-4 . "or>")
                    )
             )
    )
  )
  (initget 7)
  (setq le (getdist "\nPick or specify conduit width : "))
  (setq tl 0.0)
  (setq d1 (list le le))
  (setq d2 (list (- le) le))
  (setq d3 (list le (- le)))
  (setq d4 (list (- le) (- le)))
  (repeat (setq i (sslength ss))
    (setq lw (ssname ss (setq i (1- i))))
    (command "_.AREA" "_O" lw)
    (setq ar (getvar 'area))
    (setq ll (/ ar le))
    (setq ptlst (mapcar 'cdr
                        (vl-remove-if-not
                          '(lambda ( x ) (eq (car x) 10))
                          (entget lw)
                        )
                )
    )
    (setq ptlstn (reverse (cons (car ptlst) (reverse ptlst))))
    (setq mitter 0)
    (foreach pt ptlst
      (if
        (cond
          ( (and
              (vl-some '(lambda ( x ) (equal (mapcar '+ pt d1) x 1e-5)) ptlst)
              (vk_IsPointInside (mapcar '+ pt (mapcar '/ d1 (list 2.0 2.0))) ptlstn)
              (chk2ptcitouch (mapcar '+ pt (mapcar '/ d1 (list 2.0 2.0))) (/ le 2) lw)
            )
            T
          )
          ( (and
              (vl-some '(lambda ( x ) (equal (mapcar '+ pt d2) x 1e-5)) ptlst)
              (vk_IsPointInside (mapcar '+ pt (mapcar '/ d2 (list 2.0 2.0))) ptlstn)
              (chk2ptcitouch (mapcar '+ pt (mapcar '/ d2 (list 2.0 2.0))) (/ le 2) lw)
            )
            T
          )
          ( (and
              (vl-some '(lambda ( x ) (equal (mapcar '+ pt d3) x 1e-5)) ptlst)
              (vk_IsPointInside (mapcar '+ pt (mapcar '/ d3 (list 2.0 2.0))) ptlstn)
              (chk2ptcitouch (mapcar '+ pt (mapcar '/ d3 (list 2.0 2.0))) (/ le 2) lw)
            )
            T
          )
          ( (and
              (vl-some '(lambda ( x ) (equal (mapcar '+ pt d4) x 1e-5)) ptlst)
              (vk_IsPointInside (mapcar '+ pt (mapcar '/ d4 (list 2.0 2.0))) ptlstn)
              (chk2ptcitouch (mapcar '+ pt (mapcar '/ d4 (list 2.0 2.0))) (/ le 2) lw)
            )
            T
          )
          ( T nil )
        )
        (setq mitter (1+ mitter))
      )
    )
    (setq tl (+ tl (+ ll (* le (/ mitter 2)))))
  )
  (prompt
    "\nTotal length of all square-tube LWPOLYLINES is : "
  )
  (princ (rtos tl 2 50))
  (princ)
)

Your turn for testing...
Kr. M.R.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 24, 2014, 12:17:43 PM
My attempt  :)
Very well, the program is slow because it performs a very complex calculation, I have to review something for use with polylines with "straight" vertices and with width of the conduit is not perfect (249.9999).
Grazie ancora!
My attempt is like Owen described in a few steps... No need for using additional routine...
Minimally tested...
...
Your turn for testing...
Kr. M.R.
This is very fast, I have to review something for use with polylines with "straight" vertices and for lenth of the conduit equal to width (see my dwg).
Grazie mille for your time.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: ribarm on November 26, 2014, 01:44:25 PM
Hi Marc'... I've changed my code to include cases when segment lengths are the same as conduit width... Try my code updated above and test it to see if everything's OK...

Kr. M.R.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on November 26, 2014, 03:12:46 PM
Hi Marc'... I've changed my code to include cases when segment lengths are the same as conduit width... Try my code updated above and test it to see if everything's OK...

Kr. M.R.
Grazie ancora, I need few days to test, now I have new problems to solve...
Ciao.
Title: Re: Geometry problem: length of segments knowing the area, perimeter and width
Post by: Marc'Antonio Alessi on December 09, 2014, 11:04:16 AM
Hi Marc'... I've changed my code to include cases when segment lengths are the same as conduit width... Try my code updated above and test it to see if everything's OK...

Kr. M.R.
Hi Marko, with a "little" delay I finally managed to try fully your solution and it works perfectly. I just have to add the option to have width of the conduit is not accurate (249.9999).
Thanks again.     Marco