Mise en plan automatique

Bonjour, je suis entrain de regarder pour faire une mise en plan "automatique" de mes pièces, je suis entrain de faire des mises en plan pré définis, (quand j'insère ma pièce, les vues se mettent toute seule) mais je n'arrive pas a mettre en en automatique le tableau de perçage. est ce que vous serriez comment faire ? ou si cela n'est pas possible est ce que c'est possible de le faire avec une macro ?

j'ai aussi regarder pour faire ça avec  SmartDrawings de myCADtools mais c'est pareil il n'y a pas le tableau.


testplan.jpg

Bonjour,

Oui c'est possible en insérant une table de perçage,...

Je vous montre plus tard car mon pc est en cours de traitement.

Cordialement.

@+.

AR.

c'est possible de le faire dans la mise en plan pré défini ? car il faut donner une origine et une face mais comme il n'y à pas de pièces je n'y arrive pas.

d'accord merci, j'attend votre retour. 

Re-bonjour,

voici mon explication sur le tableau à insérer dans la mise en plan.

Cordialement.

AR.


2020-09-01_135558.jpg
1 « J'aime »

Merci pour votre réponse, mais ce n'est pas ce que je cherche j'ai du mal m'exprimer. je sais comment insérer une table de perçage, mais je voudrais qu'elle sois mise automatiquement dans une mise en plan type.

quand je suis sur ma pièce 3D je fais créer une mise en plan à partir de la pièce, je choisi mon type de plan, et quand je valide, il me met directement la vue iso, la vue de dessus, les vues auxiliaire, ect.. (actuellement c'est ce que j'ai.)

mais dans ce modèle TYPE de plan je voudrais en plus intégrer la table de perçage, qui viens ce mettre directement sans que j'ai rien a faire, quand je fais une mise en plan après.

Bonjour.

C'est possible par macro avec la fonction InsertHoleTable2

Voir les exemples fournis dans cette page

1 « J'aime »

merci JeromeP je viens de regarder, c'est ce qu'il me faut.

est-ce que vous auriez une solution pour ne pas avoir à donner les coordonnées X et Y pour la sélection du sommet de la pièce ainsi que la face ? car en fonction de la pièce qui va être insérée les coordonnée ne serons pas pareil et du coup ça ne marche pas.

boolstatus = Part.Extension.SelectByID2("", "VERTEX", 0.0443, 0.0674, 0, True, 1, Nothing, 0)

boolstatus = Part.Extension.SelectByID2("", "FACE", 0.067, 0.083, 0, True, 2, Nothing, 0)

il faudrait détecter automatiquement un sommet de la pièce ainsi que la face de la pièce insérée automatiquement mais je ne vois pas comment faire.

code de base utilisé.

Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim spec As SldWorks.DocumentSpecification
Dim Drawing As SldWorks.DrawingDoc
Dim boolstatus As Boolean
Option Explicit
Sub main()
    Set swApp = Application.SldWorks
    Set spec = swApp.GetOpenDocSpec("C:\Program Files\SolidWorks Corp\SOLIDWORKS\samples\tutorial\api\cover_datum.sldprt")
    Set Part = swApp.OpenDoc7(spec)
    Set Drawing = swApp.NewDocument("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\advdrawings\Drawing.drwdot", 2, 0.2794, 0.4318)
    Set Part = Drawing
    boolstatus = Part.Extension.SelectByID2("Sheet1", "SHEET", 0.39237, 0.5218942019544, 0, False, 0, Nothing, 0)
    boolstatus = Part.Create3rdAngleViews2("C:\Program Files\SolidWorks Corp\SOLIDWORKS\samples\tutorial\api\cover_datum.sldprt")
    Part.ClearSelection2 True
    boolstatus = Part.ActivateView("Drawing View1")
    'Select a vertex in the drawing view to be the origin of all datums in the table
    'All XLOC and YLOC table column values will be relative to this datum origin
    boolstatus = Part.Extension.SelectByID2("", "VERTEX", 0.117324728174898, 0.108554228680764, -500.0075, True, 1, Nothing, 0)
    'Select a face that contains the holes that will be annotated in the table
    boolstatus = Part.Extension.SelectByID2("", "FACE", 0.090728339186173, 0.119052803281577, -500.0075, True, 2, Nothing, 0)
    Dim myView As Object
    Set myView = Part.SelectionManager.GetSelectedObjectsDrawingView2(1, -1)
    Dim myHoleTable As Object
    'Insert a hole table
    'anchored with its top left corner at x-coordinate = 0.07m and y-coordinate = 0.175m,
    'with starting datum tag "A",
    'using hole table template: standard hole table--letters.sldholtbt
    Set myHoleTable = myView.InsertHoleTable2(False, 0.153019881817662, -3.77259107537343E-02, 1, "A", "C:\Program Files\SolidWorks Corp\SOLIDWORKS\lang\english\standard hole table--letters.sldholtbt")
    Part.ClearSelection2 True
    boolstatus = Part.ActivateSheet("Sheet1")
End Sub