Ciao ospite, se leggi questo messaggio significa che non sei ancora registrato. Ti consiglio di registrarti velocemente con i tuoi account social (Facebook, Google, Linkedin), basta un semplice click.
Oppure clicca qui per registrarti in pochi semplici passaggi. Così potrai godere di tutte le funzionalità del nostro Forum.
Ciao ospite, se leggi questo messaggio significa che non sei ancora registrato. Ti consiglio di registrarti velocemente con i tuoi account social (Facebook, Google, Linkedin), basta un semplice click.
Oppure clicca qui per registrarti in pochi semplici passaggi. Così potrai godere di tutte le funzionalità del nostro Forum.
10-25-2024, 07:07 AM (Questo messaggio è stato modificato l'ultima volta il: 10-25-2024, 07:08 AM da Alberto_Broggian.)
Ciao a tutti,
vi pongo un quesito: ho la necessità per la preparazione al taglio di convertire dei fori (cerchi o elissi) in un piano di taglio.
Dunque devo suddividere il "cerchio" che di solito è uno sviluppo di un foro come da immagine
è fattibile con una macro?
Piacere di conoscerti, apprezzo molto il sito di cui porti il nome.
Cercherò di spiegare semplice semplice.
input di partenza:
-selezione del cerchio, elisse e/o spline
-definizione del lato di calandratura del foro
-definizione della distanza dai due poli generati dalla direzione di calandratura (per definire l'inizio e fine della suddivisione)
-ripartizione in segmenti approssimati secondo 2 dati ( valore linea - valore spazio)
-applicazione di una linea a valore fisso perpendicolare ai terminali delle prime su direzione interna al cerchio.
credo non ci sia altro.
Forse sono arrivato a capire cosa ti serve ...
vuoi lasciare delle "tacche" cioè lasciare la scarto di un foro per calandrarlo per poi ritagliarlo successivamente
ho avuto l'occasione di usare ActCut (programma per pantografo della ALMAITALIA) e c'era la funzione che lasciava le tacche mediante click manuale direttamente sulla sagoma, non c'è nel programma che usi?
bravo! , io non sono direttamente il fornitore taglio laser e nn ho programmi di nesting ne di preparazione al taglio,
però devo cercare di dare i file dxf al taglio il più definitivi possibili xchè altrimenti è un errore continuo!
chi taglia carica il file e non ne vuole sapere di altro
Ok
ho fatto quella per il cerchio,
per l'ellissi devo vedere come fare,
per la spline la vedo dura
ma al momento le ho fatte come macro di autoCAD devo convertirle in nanoCAD
11-27-2024, 09:20 PM (Questo messaggio è stato modificato l'ultima volta il: 11-28-2024, 09:42 AM da tracciatura.net.)
questa macro che è scritta per AutoCAD funziona per il cerchio indicando l'asse di calandratura orizzontale o verticale
ora mi trovo in UK e non riesco ad attivare NanoCAD quindi deve essere adattata per nanoCAD
queste le impostazioni
'****************************** 'Impostazioni '****************************** AsseCalOrizzontale = True AsseCalOrizzontale = False Fascia = 250 'mm pezzo nella direzione della calandratura Passo = 100 Tacca = 10 Taglio = 20 '******************************
AsseCalOrizzontale = True indica Asse Calandratura Orizzontale AsseCalOrizzontale = False indica Asse Calandratura Verticale
eliminare la riga che non interessa
Codice:
Option Explicit
Public Sub Tacche()
Dim EntObj As AcadEntity
Dim AsseCalOrizzontale As Boolean
Dim cirObj As AcadCircle
Dim lineObj As AcadObject
Dim arcObj As AcadArc
Dim Fascia, Passo, Tacca, Taglio
Dim nPassi
Dim ang1, ang2, AngRif1, AngRif2
Dim cenPnt(0 To 2) As Double
Dim pnt(0 To 2) As Double
Dim Pg
Dim tmp1, tmp2
Dim c
Pg = 4 * Atn(1)
AppActivate ThisDrawing.Application.Caption
' Create the selection set
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("SSET" & Rnd(100) * Time)
' Add objects to a selection set by prompting user to select on the screen
ssetObj.SelectOnScreen
If (ssetObj.Count <> 1) Then
Debug.Print "Attenzione più di un oggetto selezionato"
End
End If
Set EntObj = ssetObj(0)
Debug.Print EntObj.ObjectName
If EntObj.ObjectName = "AcDbCircle" Then
GoTo Circle_
Else
Debug.Print "Non è un cerchio"
End
End If
Circle_:
Set cirObj = EntObj
'******************************
'Impostazioni
'******************************
AsseCalOrizzontale = True
AsseCalOrizzontale = False
Fascia = 250 'mm pezzo nella direzione della calandratura
Passo = 100
Tacca = 10
Taglio = 20
'******************************
If (AsseCalOrizzontale) Then
AngRif1 = Pg / 2
AngRif2 = Pg * 1.5
Else
AngRif1 = 0
AngRif2 = Pg
End If
Dim EntObj 'As AcadEntity
Dim AsseCalOrizzontale 'As Boolean
Dim cirObj 'As AcadCircle
Dim lineObj 'As AcadObject
Dim arcObj 'As AcadArc
Dim Fascia, Passo, Tacca, Taglio
Dim nPassi
Dim ang1, ang2, AngRif1, AngRif2
Dim cenPnt(2) 'As Double
Dim pnt(2) 'As Double
Dim tmp1, tmp2
Dim c
Dim StartPoint, EndPoint
' Create the selection set
Dim ssetObj 'As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("SSET" & Rnd(100) * Time)
' Add objects to a selection set by prompting user to select on the screen
ssetObj.SelectOnScreen
If Not(ssetObj.Count = 1) Then
ThisDrawing.Utility.Prompt "Attenzione più di un oggetto selezionato"
Else
Set EntObj = ssetObj(0)
ThisDrawing.Utility.Prompt EntObj.ObjectName
If (EntObj.ObjectName = "AcDbCircle") Then
Set cirObj = EntObj
'******************************
'Impostazioni
'******************************
AsseCalOrizzontale = True
'AsseCalOrizzontale = False
Fascia = 250 'mm pezzo nella direzione della calandratura
Passo = 100
Tacca = 10
Taglio = 20
'******************************
If (AsseCalOrizzontale) Then
AngRif1 = Pg / 2
AngRif2 = Pg * 1.5
Else
AngRif1 = 0
AngRif2 = Pg
End If