×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Circle to hexagon?
3

Circle to hexagon?

Circle to hexagon?

(OP)
I have a riser diagram with circles shown as smoke detectors, the genious engineer has come back and said he wants hexagons instead.  Without actually drawing a polygon over the circle I would like to see if there is a way to just convert to hexagon.  I am prbably crazy but it worth a shot.

RE: Circle to hexagon?

If you have the symbol as a block you could just change your block to a hex and update.  Otherwise your going to have to draw a hex polygon at least once and copy to the other locations.

Steve Smith
Product Engineer
Staco Energy Products Co.
www.stacoenergy.com

RE: Circle to hexagon?

If it's not a block, I could write a quick program to convert all of the circles to hexagons.

DimensionalSolutions@Core.com
While I welcome e-mail messages, please post all thread activity in these forums for the benefit of all members.

RE: Circle to hexagon?

; SQUARING ALL CIRCLES -OR HEXAGONING
; Please post debugging results - this is written today!!
;COMMAND:  Circulation -  converts all selected circles into polygones
;File:     Circulation.lsp
;Written by Dr. Tigrek
;www.homescript.com

;Get circles by any method you like - follow prompts to get objects
;only circles will be taken seriously, others will be ignored
(defun C:Circulation()
;get the few parameters
  
  (initget (+ 1 2 4))
  (while (<
      (setq HowManySides (getint "\nHow Many Sides to each Polygon ?"))
    3)
    )
  
  (initget 1 "Inside Outside")
  (setq InsideOutside (getkword "\nPolygon Inside or Outside the circle (I/O): "))
  (if (= InsideOutside "Inside") (setq InsideOutside "_I")(setq InsideOutside "_C"))
;big IF
(IF
;this allows select objects by any way you like
(setq sset (ssget (list  (cons 0 "CIRCLE"))))
;PROGN IS NEEDED BECAUSE MORE THAN ONE STATEMENTS FOLLOW IF TRUE
(PROGN
;this tells how many circles were caught, picked, windowed, crossed
(setq ssetl (sslength sset))
;just for information, to see the circle count on command line
    (print ssetl)(princ " Circles found...")

  
    (setq i 0)
  
  (while (< i  ssetl)
        (setq Edna (ssname sset i))
    (setq Eddy (entget Edna))

            (setq    Typy     (dxf 0 Eddy)
            ; this is not really used. Was for debugging
              Insy     (dxf 10 Eddy)
            ; Insertion point of circle we are going to erase
                  Rady    (dxf 40 Eddy)
            ;radius of circle we are going to erase
        )
        ;this is tricky  (x Y) = (10 20) will be converted into "10,20"
        (setq Insy (strcat
                 (rtos (car Insy) 2)
                 ","
                 (rtos (cadr Insy))
                 )
        )
        
        ;and this converts R= 25.5 into "25.5"
        (setq rady (rtos rady 2))

        ;this was for debugging. Don't need anymore
          ;(print Insy)(print Rady)
          
        ;erase the circle
        (COMMAND "_erase" Edna "")
        ;insert block circle  with scale factor
        ;to correspond to radius of erased circle
        
        (COMMAND "_polygon" HowManySides Insy InsideOutside rady)

    
    (setq i (+ 1 i));NEXT CIRCLE
   );while ends here
  )(print "No Circles Found!" ));big IF ends here
  (princ);suppress repeated prompt
);end of main function

;Useful function to extract-
;Entity name "CIRCLE n= 0
;Insy InsertionPoint n= 10
;rady radious        n= 40
;ed is full entity data
(defun dxf (n ed) (cdr (assoc n ed)))

;FOR ALL VERSIONS OF AUTOCAD
;SAVE AS Circulation.lsp to directory \SUPPORT\
;and from command line: (load "Circulation")
;then, on command line, type Circulation AND FOLLOW SELLECT-OBJECT PROMPTS
;ERASES ALL PICKED CIRCLES AND REPLACES EACH WITH A POLYGON
;FITTING INSIDE/OUTSIDE OF EACH ERASED CIRCLE
;AND INSERTED AT ITS CENTER POINT,
;NOW CIRCLES ARE POLYGONS
;RICHLY COMMENTED FOR YOUR CONVENIENCE AND MODIFICATIONS
;FOR QUESTIONS please call at:
;www.homescript.com
;I am home most of the time.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources