Jump to content

Recommended Posts

Posted

Hello everbody,

 

I'm here for the first time, and I hope you can help me to solve my problem.

 

I need a way to dimension an arc, but on more points, for example were a curved wall intersects with some other object, or so.

 

Standard dimarc gives you arc length of only one segment, but I have complete walls to dimension.

 

Basically, it should work like a dimcontinuous command, but on an arc.

 

Both Revit and Archicad have such posibility.

 

Is there a way to do it in autocad ?

 

Thanks in advance, I would really appreciate some help around this, because I have a project to finish, and I don't know how to do this.

 

bye

Posted

The only way I have found, is to use BreakAll lisp, to cut the arc on intersecting lines with the wall, and then dimension it with DIMARC, one by one. But it lasts too long.

 

So, I would need some lisp to dimension the whole arc, to get arc lengths between different points I choose - just like dimcontinuous does.

 

Or, something that measures arc lengths of multiple arc segments automatically - similar to PDIM from Aleksandr Smirnov.

 

Thank you very much.

Posted

gashaglava,

 

Not sure this is what you need, but you could try this lisp.

Hope this helps.

 

; DLA.LSP - dimension length of arc
; modified version of DIMARC from (^v^) XANADU, http://www.xanadu.cz
; runs continuously - <Esc> to exit

(defun C:DLA ( / *ERROR* pt1 pt2 cen a1 a2 ad D1 D2 D i r oldOs oldCmde)

(defun *ERROR* (msg)
  (princ " function")
  (setvar "OSMODE" oldOs)
  (setvar "CMDECHO" oldCmde)
  (princ)
)

(setq oldCmde (getvar "CMDECHO"))
(setq oldOs (getvar "OSMODE"))
(setvar "CMDECHO" 0)
(while T
 (princ "\n Pick 2 points on an arc - ")
 (setvar "OSMODE" 33)
   (while (not cen)
      (setq pt1 (getpoint "\n 1st pt: ")
        cen (osnap pt1 "_CEN")
      )
      (if (not cen) (alert "Doesn't lay on an arc, retry")
    (setq pt2 (getpoint pt1 "\n 2nd pt: "))
      )
   ) ; while
 (setvar "OSMODE" 0)
 (setq a1 (angle cen pt1) 
       a2 (angle cen pt2) 
       ad (abs (- a2 a1))
   r (distance pt1 cen)
   D1 (* r ad)
       D2 (* r (- (* 2 pi) ad))
 )
 (princ (strcat "\n Arc length (1) = " (rtos D1) ", Complement (2) = " (rtos D2)))
 (setq D D1)
 (initget "1 2")
 (setq i (getkword "\n Dim which? [1 2] : "))
 (princ "\n Place dimension : ")
 (if (= i "2") (setq D D2))
 (command "_DIMANGULAR" "" cen pt1 pt2 "_T" (rtos D) pause "")
 (setq cen nil)
) ; while
(setvar "OSMODE" oldOs)
(setvar "CMDECHO" oldCmde)
(princ)
)

Posted

That's exactly what I've needed !

 

Thank you 1000 times !

Posted

If you want to improve this script - it could offer more points to choose on an arc, and then dimension the arc lenghts of segments on a single dimension line.

It also removes the Nearest point snapping, so you cannot put the dimension text exactly on the desired dimension line.

 

But this works for me just fine.

 

Thanks again, you saved my life !

Posted

Very glad the lisp was useful. If you have other features you would like in the lisp, maybe you could post a picture detailing what you want. I can't promise a quick response, but I will work on it eventually.

Posted

Hi

 

Here is what I think would be ideal - the same thing one can easily do in Archicad or Revit for example - but please, only if you're interested and you have time. The lisp DLA you made is great.

 

Picture 1 : The structural grid layout

Picture 2 : choose an arc.

Picture 3 : choose all the points on the arc one needs to get arc lengths between

Picture 4 : The dimension line

Picture 5 : place the arc lengths on the dimension line (or specify an offset dimension line).

 

 

Thank you !

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

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