Cięcie lokalne "makro"

Witam wszystkich,

Chcę zrobić kawałek kodu, który wykona lokalne cięcie z okręgiem, w którym środek tego ostatniego zostanie umieszczony na "początku" części (patrz plan)

Z góry dziękuję za wszystkie odpowiedzi


mise_en_plan38.pdf

Witam

Czy próbowałeś za pomocą rejestratora makr???  

Tak, ale tak naprawdę moje makro tworzy za każdym razem inne osie (taki jest cel), a zapis makra daje mi współrzędne, a kiedy wybieram tylko początek, daje mi to:

boolstatus = Part.Extension.SelectByID2("Point1@Origine@Pièce50-Drawing 1@Vue 1", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nic, 0)

I chciałbym, aby ten punkt (oryginalny element) był środkiem mojego okręgu dla lokalnego cięcia

Witam

Potrzebujemy więcej informacji,

Czy nazwa elementu na rysunku jest stała?
Czy Twój rysunek zawsze zawiera pojedynczy element?
Chce się wrócić do pierwotnego punktu gry, a to właśnie na pierwszy rzut oka wydaje się najbardziej skomplikowane. Czy nie moglibyśmy mieć stałego punktu na rysunku do utworzenia sekcji lokalnej?
Czy głębokość skrawania byłaby stała? Wskazany przez użytkownika? Wznowienie na wybrzeżu?

 

Ale w każdym razie, po kilku próbach, jest to wykonalne.

Nazwa utworu zmienia się za każdym razem w zależności od odniesienia, wtedy to, co jest stałe, jest centrum mojego życia 1 lub 2, ale jest to dla mnie bezużyteczne.

Wtedy o głębokość cięcia nie muszę się martwić, dopóki nie dowiem się, jak  powiedzieć mojemu makro to:

- Wykonaj okrąg Ø14 w środku początku elementu 

-Wykonaj lokalne cięcie o głębokości 3.175

 

To wszystko, czego potrzebuję, ale jeśli szukam tego punktu, to dlatego, że ponieważ długość części klienta może się zmieniać za każdym razem, potrzebuję punktu, który będzie taki sam na każdej części, a ponieważ mam dziurę na tym początku, staje się to logiczne

Znalazłem rozwiązanie:

Ustaw swApp = Application.SldWorks

Ustaw część = swApp.ActiveDoc
Ustaw SelMgr = Part.SelectionManager
Part.ClearSelection2 Prawda
Przyciemnij SkCircle jako obiekt

 

Ustaw 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, Fałsz, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Punkt5", "SKETCHPOINT", 0.05089546697908, 0.1514160210352, 0, Prawda, 0, Nic, 0)
Part.SketchAddConstraints "sgCOINCIDENT"
Part.SketchAddConstraints "sgCOINCIDENT"
Part.ClearSelection2 Prawda
boolstatus = Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0.1060269148852, 0.2591576180298, 0, False, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0.09157040374567, 0.2475179348306, 0, False, 0, Nic, 0)
Part.CreateBreakOutSection 0.003175
Part.ClearSelection2 Prawda
Koniec subwoofera


 W każdym razie dziękuję wam wszystkim