Spartan54
26.06.2024, 08:57
Dobrý den,mám vytvořené pravidlo pro automatické vytváření STEPů plechových dílů ze sestavy. Potřebuju, aby pravidlo nevytvořilo STEP ze součásti, která má nastavenou strukturu rozpisky jako referenční. Přidal jsem podmínku : doc.ComponentDefinition.BOMStructure <> "51972".S touto podmínkou STEP nevytvoří, pokud je struktura rozpisky nastavena přímo na dílu. Pokud změním strukturu rozpisky jenom ve stromu sestavy, tak na díle zůstane normální a STEP se vytvoří.Nemáte radu jak toto ošetřit?
Spartan54
26.06.2024, 10:40
Tady je celý kód:Sub Main ()'Testuje soubor na sestavu. Nelze spustit z dílu nebo výkresu. If ThisApplication.ActiveDocument.DocumentType = kAssemblyDocumentObject Then'Nalezne všechny podsestavy a díly v hlavní sestavě Dim SeznamStep As New ArrayList Dim doc As Document Dim FNamePosStep As Long Dim docFNameStep As String Dim oDocs As Documents = ThisApplication.Documents SeznamStep.add(ThisApplication.ActiveDocument.FullFileName) For Each doc In ThisApplication.ActiveDocument.AllReferencedDocuments FNamePosStep = InStrRev(doc.FullFileName, "\", -1) docFNameStep = Mid(doc.FullFileName, FNamePosStep + 1, Len(doc.FullFileName) - FNamePosStep) If doc.DocumentType = kPartDocumentObject And doc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" And iProperties.Value(docFNameStep, "Project", "Project") = Parameter("VÝROBNÍ_ČÍSLO") And doc.ComponentDefinition.BOMStructure <> "51972" And Err.Number = 0 Then If iProperties.Value(docFNameStep, "Custom", "He_SkZb") = "201" Then SeznamStep.add(doc.FullFileName)' MessageBox.Show(doc.FullFileName, "Title") doc = oDocs.Open(doc.FullFileName, True) auto = iLogicVb.Automation auto.RunExternalRule(doc,"TISK PDF_STEP\STEP") doc.Close(True) End If End If NextElseMessageBox.Show("Testovaný soubor není sestava. Toto pravidlo lze spustit pouze v sestavě.", "Zkontroluj umístění projektu a souburu!")End If End Sub