Jump to content

CafeJr

Recommended Posts

No, I'm Bosnian but If you ask me why sepultura nick, just got out from my memory about brasilian metal band I used to listen when I was a kid.

 

How to do it. I got some idea about iterate through polygon points, calculate trapezoidal areas and something like that. Will get back here tommorow, hopely with some good news.

Link to comment
Share on other sites

Bosnian listening Sepultura when you was a kid!?... Woww!... He he he... It's a good metal their songs!... I asked because your Nick and I'm Brazilian!... Ok and thanks to help!...

Link to comment
Share on other sites

Brazil is very interesting to bosnian people these days, cause we have chance to qualify for football world championship in Brazil 2014. Bosnia is the leader of our group and we have only two matches left. Tonight one, and last match in tuesday. If we win both matches we will be qualified for world championship first time in history of Bosnia state.

Link to comment
Share on other sites

Oh, I forgot to say that we will play friendly match against Argentina next month if we qualify for world championship. I think it's good reason for you to be bosnian fun if that match take place.

Link to comment
Share on other sites

Good luck to Bosnian team, I know a little bit about Bosnia, so, make sure that you and your team got a new "fan" here at Brazil (sure, if win Argentina!... Ha ha ha... - I'm joking!...). Are you thinking of coming here next year to watch some games?

Link to comment
Share on other sites

I have good news. I finished AREASPLIT command, and you can run it in BabaCAD 1.3. Download beta version from babacad.com/bem. I also made tutorial video and you can watch it at babacad.com/tutorials.html or click tutorials link on home page or directly on youtube http://www.youtube.com/watch?v=-Rj-b-dICVo. There are more good news. Bosnia won 4:1 at friday and we are waiting tommorow, final game. If we won, some bosnians will sure come in Brazil. I can't promise for myself.

 

Regards

Link to comment
Share on other sites

Oohh... Every time good news are good news!... He he he... Thank you I'll try it, and as I get some thing I'll tell you!... So, about Bosnian team... It's good to knowing about it, as you told, has only more one to get in!!!... Thank you to help me!...

Link to comment
Share on other sites

I have good news. I finished AREASPLIT command, and you can run it in BabaCAD 1.3. Download beta version from babacad.com/bem. I also made tutorial video and you can watch it at babacad.com/tutorials.html or click tutorials link on home page or directly on youtube http://www.youtube.com/watch?v=-Rj-b-dICVo. There are more good news. Bosnia won 4:1 at friday and we are waiting tommorow, final game. If we won, some bosnians will sure come in Brazil. I can't promise for myself.

 

Regards

 

Nice video.

 

Areasplit works well although it crashed a few times when I tried using it if I made the tolerance level too small or if the polyline to be divided and the bearing for the liens to be generated on did not give a feasible solution.

Link to comment
Share on other sites

Thanks. I did areasplit using my own algorithm and there may be some rare situations when there will not be feasible solution (if split line is dividing polyline more then twice). I will work on to improve algorithm and update command for final 1.3 release.

 

I realized this cmd can be used to draw table quickly. Draw rectang, start asplit and choose num rows and enter 0 when asked for direction angle. Start areasplit again and choose 90 angle. Table is there.

 

I updated cmd so you can type angle instead of specify by points. Supported angle range is 0 to 90 for now. I also added icon and menu cmd in modify toolbar.

Link to comment
Share on other sites

Good luck to Bosnian team, I know a little bit about Bosnia, so, make sure that you and your team got a new "fan" here at Brazil (sure, if win Argentina!... Ha ha ha... - I'm joking!...). Are you thinking of coming here next year to watch some games?

 

Bosnia is coming to Brazil and we have total madness here tonight. You can read this news http://news.yahoo.com/bosnia-herzegovina-russia-qualify-world-cup-191700647--spt.html and http://www.goal.com/en/news/755/europe/2013/10/15/4335639/bosnia-qualify-for-first-ever-world-cup-finals

Link to comment
Share on other sites

 

Yeahhhhhhh... now is it!... So, to get one fan here they need win the Argentina team!!!... He he he... As I told you!!!... (I'm joking again!...) Congratulations!!!... For Bosnia team and you!... I think that we will see great news about Bosnia!!!... So, even better if Bosnia win the game over the Argentina team!!!... He he he... It's hard thing to do!!!...

 

About your BabaCad!... I saw it just right now and I think that it's perfect to me, I'll try it tomorrow and show you good news I guess!...

Link to comment
Share on other sites

Ohhhwwww... On the website I can't do the download of new version, I haven't found it!... Only 1.2... I did it, but, this version don't have the function "Areasplit"... How I can get it Sepultura?... Thanks and regards...

Link to comment
Share on other sites

CafeJr,

Organic was faster then me with answer. As I already said, babacad 1.3 beta updates is available at www.babacad.com/bem and all

available extensions also (lisp 1.0 and gis cloud 1.0 extensions are available currently).

 

No problem Sepultura, don't worry, I really appreciate your help, thanks a lot!!!... And about the comments at end of movie!!!... He he he...

 

And about the Bosnian team, do you know when will be the next game?

Link to comment
Share on other sites

No problem Sepultura, don't worry, I really appreciate your help, thanks a lot!!!... And about the comments at end of movie!!!... He he he...

 

And about the Bosnian team, do you know when will be the next game?

 

You're welcome. I'll inform you about areasplit updates. And about Bosnia next game, we are going to play against Argentina (Dzeko vs Messi) on Novemeber 18th 2013. US soccer fans, you can watch Messi and gaucos against our Bosnian dragons in St.Luis. Read more http://fox2now.com/2013/10/15/bosnia-to-play-lionel-messi-and-argentina-at-busch-stadium-in-november/ .

 

Regards

Link to comment
Share on other sites

CafeJr,

 

Organic was faster then me with answer. As I already said, babacad 1.3 beta updates is available at www.babacad.com/bem and all available extensions also (lisp 1.0 and gis cloud 1.0 extensions are available currently).

 

Hello friend!... As I told you... I'm back with news... He he he... I got the BabaCAD, and tryed to use, so, I taked some screen shots, how I can send to you look (at BabaCAD e-mail support)? Thank you again!!!...

Link to comment
Share on other sites

I have this lisp i don't know if helps you.

 

;;;DIVAREA.LSP  ver 2.0   Plot division utility (metric units)
;;;                       by Yorgos Angelopoulos
;;;                       agior1959@gmail.com
;;;
;;;  Suppose that you have to split a big part into 2, 3, 4 (even works for 5.014)
;;;  or you want to cut a smaller part out of the parent one.
;;;
;;;  All you need is a CLOSED polyline to define the parent part.
;;;
;;;  Load the utility, after placing it into an appropriate folder,
;;;  let's say \Program Files\Acad2000\Support, invoke "APPLOAD" command
;;;  or invoke (LOAD"DIVAREA") and run it by entering DIVAREA.
;;;
;;;  
;;;  For proper execution please note that:
;;;
;;;     1. The area which is enclosed by the poly must be FREE of
;;;          entities which could cause unexpected behaviour of the BOUNDARY
;;;          command (this command is the key to the solution). ERASE ALL lines,
;;;          polylines, circles, etc. inside the lwpoly. Text, nodes and attribs
;;;          may not interfere with the BOUNDARY command
;;;
;;;     2. The DIVISION LINE must CROSS THE BOUNDARY polyline,
;;;          is imaginary, you MUST NOT draw it, let the routine draw it,
;;;          just indicate its endpoints  
;;;          (you may have to draw auxilliary entities BEFORE you start DIVAREA)
;;;
;;;     3. Bear in mind that this DIVISION LINE will be rotated (or be offseted) and
;;;         neither of its endpoints should be inside the boundary, at
;;;         any moment, or else the result will be unexpected.
;;;
;;;     4. An easy way to help things going, is to indicate the two
;;;         end-points as FAR OUT from the boundary as possible, not exceeding
;;;         of course, your current visibe area.
;;;
;;;     5. The only exception is for the FIXED POINT, in case that 
;;;          you prefer "F" rather than "C" as an answer in the relevant question.
;;;          Fixed point must be ON or OUTSIDE the polyline, NEVER INSIDE.
;;;
;;;     6. Next, pick a point into the part which will obtain the desired
;;;         area. You have to indicate INTO it, NOT ON the boundary and AS FAR
;;;         from division line as possible, so this point will not be outside of
;;;         the desired part while the division line is moving towards the point.
;;;
;;;     7. Finally, you have to indicate the remaining part, exactly 
;;;          by the same way, FAR FROM DIVISION line and INTO the remaining piece.
;;;
;;;     8. For better area approximation you can decrease local vars
;;;         stp2 and stp1 in the following program-lines accordingly.
;;;
;;;******************UTILITY STARTS HERE*******************************
(defun getver_poly (entnme / subent pllst vertex)    ;;POLYLINE VERTICES LIST
(setq subent (entnext entnme))
(setq pllst '())
(while subent
 (setq vertex (cdr (assoc 10 (entget subent))))
 (setq pllst (append pllst (list vertex)))
 (setq subent (entnext subent))
)
pllst
)
;;*********************************************************************
(defun getver_lwpoly (entnme / oldpl nodpl ptyp i n pllst)    ;;LWPOLYLINE VERTICES LIST
(setq oldpl(entget entnme))
(setq nodpl(cdr(assoc 90 oldpl)))
(setq ptyp (cdr(assoc 70 oldpl)))
(setq pllst '())
(setq i 0)
(setq n 0)
(while (car(nth i oldpl))
       (if (= (car(nth i oldpl)) 10) 
              (progn
                    (setq pllst (append pllst (list (cdr(nth i oldpl)))))
                    (setq n(+ 1 n))
              );endprogn
       );endif
        (setq i (+ i 1))
);endwhile
(if (= ptyp 1)
  (progn
        (setq pllst (append pllst (list(nth 0 pllst))))
        (setq pllst (cdr pllst))
  );endprogn     
);endif
pllst
)
;;*********************************************************************
(defun prerr (s)
(if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
);endif
(setq *error* olderr)
(princ)
);close defun
;;*********************************************************************
(Defun C:DIVAREA(/ osm strpf strdc ex arxent arx arxon pllst k scl ok 
                  d p1 p2 pts ptb deln ar par tem
                  stp stp1 stp2                
               )
(setq olderr *error*
      *error* prerr)
(setq osm(getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq ex 0
      stp  0.10
      stp1 0.05
      stp2 0.005
)
(setq arxent (car(entsel "\nSelect a CLOSED polyline : "))
      arx (entget arxent)
      arxon  (cdr (assoc -1 arx))
)
(if (not
        (and
            (or
            (equal (cdr(assoc 0 arx)) "LWPOLYLINE")
            (equal (cdr(assoc 0 arx)) "POLYLINE")
            )
            (= (cdr(assoc 70 arx)) 1)
        )
    )
    (progn
          (princ "\nSORRY, ONLY CLOSED POLYLINES ALLOWED...")
          (setq ex 1)
    )
)
(if (= ex 0)
    (progn
      (command "_undo" "m") ;if something goes bad, you may return here
      (if (equal (cdr(assoc 0 arx)) "LWPOLYLINE")
          (setq pllst (getver_lwpoly arxent))
          (setq pllst (getver_poly arxent))
      )
      (command "_layer" "m" "Area_Division" "")
      (command "_area" "e" arxon)
      (setq ar(getvar "area"))
      (initget "Divide Cut" 1)
      (setq strdc(getkword "\nDIVIDE by number or CUT a part ? (D/C) :")) 
      (if (= strdc "Divide")
          (progn
                (setq k  (getreal "\nEnter number to divide the whole part by : "))
                (setq tem(/ ar k))
          )
          (setq tem (getreal "\nEnter area to cut from the whole part (m2) : "))
      )
      (initget "Parallel Fixed" 1)
      (setq strpf(getkword "\nPARALLEL to a direction or FIXED side? (P/F) :")) 
      (if (= strpf "Fixed")
          (fixpt)
          (parpt)
      )
    )
    (ready)
)
)
;******************************************************************************
(defun fixpt ()
(setvar "osmode" osm)
(setq scl    0.05
      p1     (getpoint "\nPick fixed point of the division line : ")
      p2     (getpoint "\nPick second point of division line: ")
)
(setvar "osmode" 0)
(command "_line" p1 p2 "")
(setq deln (entlast))
(setq pts (getpoint "\nPick any point into FIRST piece, FAR from division line: "))
(setq ptb (getpoint "\nPick any point into the REST of the piece, FAR from division line: "))
(setvar "blipmode" 0)
(princ "\nPlease wait...")
(command "_boundary" pts "")
(command "_area" "e" "l")
(setq par(getvar "area"))
(setq ok -1)
(if (< par tem)
 (progn
       (while (< par tem)
        (entdel (entlast))
        (if (< (- tem par) 50)(setq scl stp))
        (if (< (- tem par) 10)(setq scl stp2))
        (command "_rotate" deln "" p1 (* scl ok))
        (command "_boundary" pts "")
        (command "_area" "e" "l")
        (if (< (getvar "area") par)
            (setq ok(* ok -1))
        )
        (setq par(getvar "area"))
       );endwhile
       (entdel deln)
)
 (progn
       (while (> par tem)
        (entdel (entlast))
        (if (< (- par tem) 50)(setq scl stp))
        (if (< (- par tem) 10)(setq scl stp2))
        (command "_rotate" deln "" p1 (* scl ok))
        (command "_boundary" pts "")
        (command "_area" "e" "l")
        (if (> (getvar "area") par)
            (setq ok(* ok -1))
        )
        (setq par(getvar "area"))
       );endwhile
       (entdel deln)
)
)
(command "_change" "l" "" "p" "c" "green" "")
(command "_boundary" ptb "")
(command "_change" "l" "" "p" "c" "red" "")
(ready)
)
;******************************************************************************
(defun parpt ()
(setvar "osmode" osm)
(setq scl    0.25
      p1     (getpoint "\nPick one point of division line (far from lwpoly) : ")
      p2     (getpoint "\nPick other point of division line (far from lwpoly) : ")
)
(setvar "osmode" 0)
(command "_line" p1 p2 "")
(setq deln(entlast))
(setq pts (getpoint "\nPick any point into FIRST piece, FAR from division line: "))
(setq ptb (getpoint "\nPick any point into the REST of the piece, FAR from division line: "))
(setvar "blipmode" 0)
(princ "\nPlease wait...")
(command "_boundary" pts "")
(command "_area" "e" "l")
(setq par(getvar "area"))
(if (< par tem)
 (progn
       (while (< par tem)
        (entdel (entlast))
        (if (< (- tem par) 50)(setq scl stp1))
        (if (< (- tem par) 10)(setq scl stp2))
        (command "_offset" scl deln ptb "")
        (entdel deln)
        (setq deln(entlast))
        (command "_boundary" pts "")
        (command "_area" "e" "l")
        (setq par(getvar "area"))
       )
       (entdel deln)
 )
 (progn
       (while (> par tem)
        (entdel (entlast))
        (if (< (- par tem) 50)(setq scl stp1))
        (if (< (- par tem) 10)(setq scl stp2))
        (command "_offset" scl deln pts "")
        (entdel deln)
        (setq deln(entlast))
        (command "_boundary" pts "")
        (command "_area" "e" "l")
        (setq par(getvar "area"))
       )
       (entdel deln)
 )
)
(command "_change" "l" "" "p" "c" "green" "")
(command "_boundary" ptb "")
(command "_change" "l" "" "p" "c" "red" "")
(ready)
)
;******************************************************************************
(defun ready ()
 (princ scl)
 (princ "\nActual : ")
 (princ par)
 (princ "\nMust be: ")
 (princ tem)
(setq *error* olderr)
(setvar "osmode" osm)
(setvar "cmdecho" 1)
(setvar "blipmode" 1)
(princ "\nThanks...")
(princ)
);close defun

Link to comment
Share on other sites

I have this lisp i don't know if helps you.

 

"prodromosm" Thanks about the code, I'm trying it and noticed how you calculate the area, the steps of divide line could be bigger than now? I'm asking it cause the area that I use it's so big, about: 160.16 m2 (irregular and rectangular area), and the scan takes a long time, or I'm doing it wrong?...

Link to comment
Share on other sites

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