Automatische Informationen zu persönlichem Eigentum

    Hallo ihr alle

 

  Ich komme hierher, um Ihnen eine Idee vorzustellen, die ich nicht in die Praxis umsetzen kann.

 

 Lassen Sie mich das erklären: Ich habe ein benutzerdefiniertes Eigenschaftsformular, in das ich den Namen des Kunden, seine Site-Referenz und verschiedene andere Informationen eingebe.

 

Ich möchte, dass Solidworks automatisch den Namen des Ordners abruft, in dem das Teil gespeichert ist, der zur Standortreferenz wird.

 

Dann sollte er den Namen der übergeordneten Datei daraus abrufen, der zum Namen des Clients wird.

 

Ich habe also ganz einfach herausgefunden, wie ich den Pfad des Ordners ausfüllen kann, aber es gibt mir so etwas wie c:/plan/lambda client/ref x.

 

Gibt es eine Möglichkeit, entweder in diesem Pfad auszuwählen, welche Zeichen angezeigt werden sollen, oder eine Formel direkt einzugeben, wie oben gefordert?

 

Ich hoffe, ich habe es klar erklärt.

 

Vielen Dank im Voraus

 

Verwenden Sie EPDM???

 

Wenn ja, dann weiß ich, dass es eine relativ einfache Technik gibt, aber ich erinnere mich nicht mehr so sehr daran, ich muss mir die Vorlagen ansehen, die in unserem Unternehmen eingerichtet wurden.

1 „Gefällt mir“

Leider verwende ich kein EPDM...

arff..

 

Ich werde ein wenig recherchieren, aber da... Ich trockne

Haben Sie etwas von SmartProperties?

Ich habe diese Frage bereits in mehreren Foren gestellt, und viele Leute sind trocken...

 

 

Scheinbar unmöglich? Ich bezweifle es... Oder vielleicht in einem zukünftigen Update, wer es ist?

 

 

Um darauf zu antworten, gehe ich den Immobilienformular-Editor für 2014 durch.

 

Nochmals vielen Dank.

 

 

Hallo

 

Ich glaube nicht, dass es im Automatikmodus möglich ist, also müssen Sie ein Makro durchlaufen.

 

Um mit dem VBA-Makro für SolidWorks zu beginnen, sehen Sie sich mein Tutorial an, falls Sie es noch nicht getan haben:

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

 

Ich glaube, ich verwende den Dateipfad mindestens 2 Mal (Pfad im Makro).

 

Und ein Lead für Ihr Problem (nicht getestet):

 

Dim swApp als SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Sub main()

Legen Sie swApp = Application.SldWorks fest

Festlegen von swModel = swApp.ActiveDoc

swModel.AddCustomInfo2 "Dateipfad", swCustomInfoText, Links(swModel.GetPathName,InStrRev(swModel.GetPathName, "\"))

Ende Sub

 

Feder:

https://forum.solidworks.com/thread/42839

 

 

 

 

 

 

3 „Gefällt mir“

Ich denke, es ist machbar, wenn Sie im Dateipfad alle Ihre Informationen haben (Client und Site Ref).

 

Sie erstellen eine temporäre Eigenschaft, die Ihren Pfad abruft, und rufen dann mit dem Dienstprogramm Smartproperties und der Funktion  "String Type" Ihren Kundennamen, Ihre Site-Referenz usw. ab.....


type_chaine_de_caractere.png
7 „Gefällt mir“

Hier ist ein Beispiel, wie Sie eine Eigenschaft mit dem Ordnernamen erstellen

 

Importiert SolidWorks.Interop

Importiert SolidWorks.Interop.swconst

Importiert System.Runtime.InteropServices

Importsystem

 

Partielle Klasse SolidWorksMacro

    ''' <Zusammenfassung>

    ''' Die Variable SldWorks swApp ist Ihnen vorab zugewiesen.

    ''' </Zusammenfassung>

    Öffentliche swApp As sldworks. SldWorks (Englisch)

 

    Öffentlicher Sub main()

 

        Dim swDoc As sldworks. ModelDoc2 = Nichts

 

        ' Aktives Dokument

        swDoc = CType(swApp.ActiveDoc, sldworks. ModellDoc2)

 

        " Wenn ein aktives Dokument vorhanden ist

        Wenn swDoc nichts ist, dann sub beenden

 

        " Wenn das Dokument bereits registriert wurde

        Wenn nicht IO. File.Exists(swDoc.GetPathName) und dann Sub beenden

 

        ' Platzieren Sie die Ordnerebenen in einer Tabelle (1. Element = > Festplatte, letztes Element = > Dateiname)

        Dim stFolders As Array = swDoc.GetPathName.Split("\")

 

        Dim stParentFolder As String = stFolders(stFolders.Length - 2)

 

        AddProperty(swDoc, "Name", stParentFolder)

 

    Ende Sub

 

    Function AddProperty(ByVal _Doc As sldworks. ModelDoc2, ByVal _Name als Zeichenfolge, ByVal _Value als Zeichenfolge) als boolescher Wert

        Dim swCustProp As sldworks. ICustomPropertyManager = _Doc.Extension.CustomPropertyManager("")

         ' Dim iAdd As Integer = swCustProp.Add3(_Name, swCustomInfoType_e.swCustomInfoText, _Value, swCustomPropertyAddOption_e.swCustomPropertyReplaceValue)

        Dim iAdd As swCustomInfoType_e = swCustProp.Add2(_Name, swCustomInfoType_e.swCustomInfoText, _Value)

        Wenn iAdd <> 1 dann

            swCustProp.Set(_Name, _Value)

        Ende, wenn

 

    Ende-Funktion

 

 

End-Klasse


swmacro.zip
11 „Gefällt mir“

Ich bin kein Experte in VBA-Programmierung, aber ich habe trotzdem den letzten Beitrag von Jfaradon übernommen.

 

Aber in Zeile 2 finde ich einen Kompilierungsfehler....

 

Ich werde Tutorials über den VBA lesen, um zu sehen, ob das der Weg ist, den ich gehen sollte

 

Nochmals vielen Dank, ich melde mich bald bei Ihnen!


vba.png

 

Sie können nicht wie auf dem Screenshot kopieren und in VBA einfügen

 

Rufen Sie die ZIP-Datei ab, und öffnen Sie das Projekt SwMacro.sln

es ist VSTA ... nicht VBA (es gibt zwei Makro-Tools auf SW)

 

9 „Gefällt mir“

Es gibt keine SwMacro.sln Projekt in Ihrer ZIP-Datei.

 

 

Hallo

 

Für mich ist die beste Lösung die von Flegendre beschriebene.

Auf jeden Fall ist es das, was ich bei uns anwende.

Es ist einfach und es funktioniert sehr gut!!

Ja emathubert, außer dass ich keine smartproperties habe !!

Entschuldigung, öffnen Sie die .vbproj !!

Siehe Screenshot

 

.sln ist es mit dem Visual Studio-Tool 

 


sans_titre_-_1.jpg
2 „Gefällt mir“

Immer noch keine Lösung? ... =)

Hallo Bart,

Ich weiß nicht, ob es Ihnen helfen könnte, aber ich bin kürzlich auf diesen Link gestoßen:

http://www.leguide3d.com/profiles/blogs/concat-nation-de-propri-t-s-personnalis-s

Es könnte a priori verwendet werden, um das Gegenteil zu tun, d.h. eine "client"-Eigenschaft und eine "ref"-Eigenschaft zu haben und so Ihren Pfad zu erstellen, indem Sie diese Eigenschaften zuordnen.

Gelingt es Ihnen, bei der Extraktion aus dem Pfad den Weg des Raumes in einer Immobilie wiederherzustellen?
Verwenden Sie einen Zimmer-Familientisch? Dies kann für das Extrahieren von Eigenschaften in Excel nützlich sein

Andere Wege: 

https://forum.solidworks.com/message/306923#306923#306923

https://forum.solidworks.com/message/133512#133512#133512

http://www.forum-cao-3d.fr/api-questions/extraction-reference-solidworks-t12149.html

 

Haben Sie es geschafft, etwas mit den Makros von @jfaradon zu machen?

(Ich arbeite gerade am gleichen Thema)

1 „Gefällt mir“

Dies ist ein Thema, das ich als roten Faden betrachte, weil es praktisch, aber auch nicht lebenswichtig ist.

 

Auf der anderen Seite melde ich mich hier wieder, da ich noch ein wenig Zeit vor mir habe =)

 

Ich kann den Namen des Ordners abrufen, in dem der MEP gespeichert ist, jedoch mit dem vollständigen Pfad.

das heißt: C:/Solidworks Pläne/ClientX/ChaniterY/caseZ/....

 

Ich schaue mir das alles an und halte euch auf dem Laufenden;)