Lokale besnoeiing "Macro"

Hallo allemaal,

Ik ben op zoek naar een stuk code dat een lokale snede zal maken met een cirkel waarbij het midden van de laatste op de "oorsprong" van het onderdeel wordt geplaatst (zie plan)

Alvast bedankt voor alle antwoorden


mise_en_plan38.pdf

Hallo

Heb je het geprobeerd via de macrorecorder???  

Ja, maar in feite maakt mijn macro elke keer verschillende assen (dat is het doel) en de macro-opname geeft me coördinaten en als ik alleen de oorsprong selecteer, krijg ik dit:

boolstatus = Part.Extension.SelectByID2("Point1@Origine@Pièce50-Tekening 1@Vue 1", "EXTSKETCHPOINT", 0, 0, 0, Onwaar, 0, Niets, 0)

En ik zou graag willen dat dit punt (het originele stuk) het middelpunt van mijn cirkel is voor de lokale snit

Hallo

We hebben meer informatie nodig,

Staat de naam van het onderdeel in de tekening vast?
Bevat je tekening altijd een enkel stuk?
Je wilt terug naar het oorspronkelijke punt van het stuk, en dat lijkt op het eerste gezicht het meest ingewikkeld. Zouden we geen vast punt in de tekening kunnen hebben voor de creatie van de lokale sectie?
Zou de diepte van de snede vaststaan? Aangegeven door de gebruiker? Hervatting aan een kust?

 

Maar in ieder geval, na een paar pogingen is het te doen.

De naam van het stuk verandert elke keer volgens de referentie, dan is wat vaststaat het centrum van mijn leven 1 of 2, maar het is nutteloos voor mij.

Dan hoef ik me geen zorgen te maken over de diepte van de snede totdat ik weet hoe ik mijn macro dit moet  vertellen:

- Maak een cirkel Ø14 in het midden van de oorsprong van het stuk 

-Maak een lokale snede van 3.175 diep

 

Dat is alles wat ik nodig heb, maar als ik op zoek ben naar dit punt, komt dat omdat de klantlengte van het onderdeel elke keer kan veranderen, ik een punt nodig heb dat op elk onderdeel hetzelfde is en omdat ik een gat heb in deze oorsprong, wordt het logisch

Ik heb de oplossing gevonden:

Stel swApp = Toepassing.SldWorks in

Deel instellen = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Deel.ClearSelection2 Waar
Dim SkCircle als object

 

Set SkCircle = Part.SketchManager.CreateCircle(0.05089546697908, 0.1514160210352, 0, 0.05637302852263, 0.1469609376464, 0)
boolstatus = Part.Extension.SelectByID2("Point1@Origine@Pièce51-Drawing 1@Vue 1", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Punt5", "SCHETSPUNT", 0.05089546697908, 0.1514160210352, 0, Waar, 0, Niets, 0)
Part.SketchAddConstraints "sgCOINCIDENT"
Part.SketchAddConstraints "sgCOINCIDENT"
Deel.ClearSelection2 Waar
boolstatus = Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0.1060269148852, 0.2591576180298, 0, Onwaar, 0, Niets, 0)
boolstatus = Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0.09157040374567, 0.2475179348306, 0, Onwaar, 0, Niets, 0)
Deel.CreateBreakOutSectie 0.003175
Deel.ClearSelection2 Waar
Einde Sub


 In ieder geval bedankt allemaal