Vai al contenuto
Antonio Errigo

problema gestione archi con cnc

Recommended Posts

Ciao a tutti ragazzi , sto usando un plasma dotato di software per l'esecuzione del taglio lamiere e premetto che io disegno con autocad perchè ormai lo conosco come le mie tasche pero' a volte mi capita questo : per es. ho un disegno composto da molti archi che siano di piccoli o grandi raggi , dopo averlo importando in dxf nel software della macchina , succede che il cnc non gestisce bene tutti i punti che formano gli archi . Chiedendo alla casa madre che ha realizzato il sw mi hanno risposto che occorrerebbe un programma aggiuntivo (che tra l'altro rilasciano loro ad un prezzo non molto modico) che mi permetta di ridurre o credo vettorializzare i numeri dei punti che formano gli archi. potrebbe esserci un modo per evitare questo inconveniente?

grazie

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ok è un buon consiglio, ma per quanto riguarda la spline....io invece ho il problema nel riconoscimento di tanti archi messi insieme in un disegno complesso.....quindi suppongo sia un problema diverso da questo... non saprei

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ok è un buon consiglio, ma per quanto riguarda la spline....io invece ho il problema nel riconoscimento di tanti archi messi insieme in un disegno complesso.....quindi suppongo sia un problema diverso da questo... non saprei

il lisp trasforma anche gli archi in polilinee,

che puoi esplodere e trasformare in linee

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

il lisp trasforma anche gli archi in polilinee,

che puoi esplodere e trasformare in linee

scusa arri , perdona la mia ignoranza ma non conosco bene l'inglese se non aiutato dalla traduzione, ma quella serie di codici li devo copiare nella stringa dei comandi e lanciarli con invio?


Modificato da Antonio Maria Errigo

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

scusa arri , perdona la mia ignoranza ma non conosco bene l'inglese se non aiutato dalla traduzione, ma quella serie di codici li devo copiare nella stringa dei comandi e lanciarli con invio?

sì, puoi farlo,

ma è meglio con un editor, ad esempio Blocco Note, copiare / incollare tutto il codice e salvarlo in un file col nome SEGS.LSP

Per caricare i lisp vedi qui


(defun c:Segs ( / *error* doc ss undo )

  ; Lee Mac  ~  29.01.10

  (vl-load-com) 


  (defun *error* ( msg )

    (and undo (vla-EndUndomark doc))

    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")

        (princ (strcat "\n** Error: " msg " **")))

    (princ)

  )


  (setq doc   (vla-get-ActiveDocument (vlax-get-acad-object))

        *segs (cond (*segs) (10)))


  (if (and (setq ss (ssget "_:L" '((0 . "ARC,CIRCLE,*POLYLINE,SPLINE,LINE,ELLIPSE"))))

           (not (initget 6))

           (setq *segs (cond ((getint (strcat "\nSpecify Number of Segments <"

                              (itoa *segs) "> : "))) (*segs))))

    (

      (lambda ( j / ent inc i pts )

        (setq undo (not (vla-StartUndoMark doc)))

        (while (setq ent (ssname ss (setq j (1+ j))))


          (setq inc (/ (vlax-curve-getDistatParam ent

                         (vlax-curve-getEndParam ent)) (float *segs)) i -1)


          (repeat (1+ *segs)

            (setq pts (cons (vlax-curve-getPointatDist ent (* (setq i (1+ i)) inc)) pts))

          )          

          (entmake (append (list (cons 0   "LWPOLYLINE")

                                 (cons 100 "AcDbEntity")

                                 (cons 100 "AcDbPolyline")

                                 (cons 90 (length pts))

                                 (cons 70 0))

                           (vl-remove 'nil

                             (mapcar

                               '(lambda ( d ) (assoc d (entget ent))) '(6 8 39 48 62)

                             )

                           )                     

                           (mapcar (function (lambda ( a ) (cons 10 a))) pts)))


          (entdel ent) (setq pts nil)

        )

        (setq undo (vla-EndUndoMark doc))

      )

      -1

    )

  )

  (princ)

)


Modificato da mOcrAm

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×