Problemy z relacjami szkicu (wiązaniami) - Wymiar średnicy

Rysunek części jest otwarty,

Szkic jest aktywny.

Szkic zawiera okrąg.

Okrąg zostanie wybrany.

Nie mogę dodać wymiaru średnicy przy użyciu żadnej z następujących metod

1. RelationManager.AddRelation(tablicaObiektów, swConstraintType_DIAMETER)
2. ModelDoc2.SketchAddConstraints("sgŚREDNICA")

Czy jest to znane ograniczenie / błąd, czy może coś mi brakuje?

 

Witaj nirantar.vigyarthee,

Jaka jest Twoja wersja solidworks?

Mam SP4 z 2020 roku.

Nie znam tego problemu. Daj mi zrzut ekranu, proszę, a ja muszę znać opcję dokumentu, aby ci pomóc.

Dziękuję.

AR.

 


2022-08-22_134816.jpg

Uważaj @A.R  , może to być specyficzne dla Solidwatch (którego nie znam).

1 polubienie

Być może powinienem był wyraźnie wspomnieć, że jest to problem związany z API (programowaniem).

Jestem w stanie stworzyć wymiar, ale wymienione metody nie działają.

Może spójrz na to : https://help.solidworks.com/2020/english/api/sldworksapi/Constrain_Sketch_Example_VB.htm

1 polubienie

Dzięki, Sylk. Już to widziałem. Nie obejmuje wymiaru średnicy.

Nie jestem pewien, co sgDIAMETER ma robić, ale na razie wygląda to na słowo zastrzeżone bez żadnego efektu...

Może jednak ten poniższy kod zrobi to, czego chcesz? :

Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Dim myDisplayDim As Object
Set myDisplayDim = Part.AddDimension2(0, 0, 0)
Part.ClearSelection2 True

End Sub

złoto

Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

Dim myDisplayDim As Object

boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Set myDisplayDim = Part.AddDimension2(0, 0, 0)

boolstatus = Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Set myDisplayDim = Part.AddDimension2(0, 0, 0)

Part.ClearSelection2 True

End Sub

 

1 polubienie

Dzięki. Ja już korzystałem z tej metody. Chciałem tylko potwierdzić, że dwie wymienione metody nie działają lub coś mi umknęło.