Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 5777 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

CHYBNÉ ZOBRAZENÍ ČAR NA PDF

 Odpovědět Odpovědět archiv
Autor
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 426
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: CHYBNÉ ZOBRAZENÍ ČAR NA PDF
    Zasláno: 16.pro.2021 v 16:05
Zdravím, 
mám ilogic, který pro jednotlivé výskyty dílů v sestavě vyexportuje PDF do Složky "A3" a "A4". Problém je že mi v .PDF některé čáry zobrazí špatně nebo vůbec - viz. přiložený obrázek. Děje se tam naprosto náhodně jen někde a jen někdy. Nevím co to vůbec může způsobovat. 

Nemáte někdo nápad co s tím? 

' - - - - - - - - - - - - - - VYTVO�ENO 2021-08-17 - - - - - - - - - - - - - -


'definovat aktivn� dokument jako soubor sestavy.'
Dim oAsmDoc As AssemblyDocument
oAsmDoc = ThisApplication.ActiveDocument
oAsmName = Left(oAsmDoc.DisplayName, Len(oAsmDoc.DisplayName))

'zkontrolujte, zda je aktivn� dokument soubor sestavy.'
If ThisApplication.ActiveDocument.DocumentType <> kAssemblyDocumentObject Then
MessageBox.Show("Please run this rule from the assembly file.", "iLogic")
Exit Sub
End If

'z�skat vstup u�ivatele
RUsure = MessageBox.Show ( _
"T�m se vytvo�� soubor PDF pro v�echny sou��sti sestavy, kter� maj� soubory v�kres�." _
& vbLf & "Toto pravidlo o�ek�v�, �e v�kresov� soubor bude m�t stejn� n�zev a um�st�n� jako sou��st." _
& vbLf & " " _
& vbLf & "Opravdu chcete vytvo�it v�kresy PDF pro v�echny sou��sti sestavy?" _
& vbLf & "To m��e chv�li trvat." , "ILogic   - d�vkov� v�stup soubory PDF ",MessageBoxButtons.YesNo)

If RUsure = vbNo Then
Return
Else
End If

' - - - - - - - - - - - - - - Nastaven� PDF - - - - - - - - - - - - - -
oPath = ThisDoc.Path
PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
oContext = ThisApplication.TransientObjects.CreateTranslationContext
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

If PDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
oOptions.Value("All_Color_AS_Black") = 0
oOptions.Value("Remove_Line_Weights") = 0
oOptions.Value("Vector_Resolution") = 400
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
oOptions.Value("Custom_Begin_Sheet") = 1
oOptions.Value("Custom_End_Sheet") = 4
End If

'z�skat cestu k c�lov� slo�ce PDF
oFolder = oPath & "\EXPORT\" & oAsmName & "- V�kresy"

'Vyhledejte slo�ku PDF a vytvo�te ji, pokud neexistuje
If Not System.IO.Directory.Exists(oFolder) Then
    System.IO.Directory.CreateDirectory(oFolder)
End If

'z�skat cestu k c�lov� podslo�ce Form�t� PDF
oFolder_A4 = oFolder & "\" & oAsmName & "- V�kresy _Format A4"
oFolder_A3 = oFolder & "\" & oAsmName & "- V�kresy _Format A3"

'Vyhledejte podslo�ce Form�t� PDF a vytvo�te ji, pokud neexistuje
If Not System.IO.Directory.Exists(oFolder_A4) Then
    System.IO.Directory.CreateDirectory(oFolder_A4)
End If

If Not System.IO.Directory.Exists(oFolder_A3) Then
    System.IO.Directory.CreateDirectory(oFolder_A3)
End If
'
'MessageBox.Show("Nov� spodslo�ky vytvo�en� : " & vbLf & oFolder_A4 & vbLf & oFolder_A3, "iLogic")

' - - - - - - - - - - - - - - -
'
' - - - - - - - - - - - - - - V�kresy sou��st� - - - - - - - - - - - - - -

'pod�vejte se na soubory, na kter� odkazuje shrom�d�n�.'
Dim oRefDocs As DocumentsEnumerator
oRefDocs = oAsmDoc.AllReferencedDocuments
Dim oRefDoc As Document

'pracujte s v�kresov�mi soubory pro odkazovan� modely
'toto o�ek�v�, �e model bude m�t kresbu se stejnou cestou a n�zvem
For Each oRefDoc In oRefDocs
idwPathName = Left(oRefDoc.FullDocumentName, Len(oRefDoc.FullDocumentName)-3) & "idw"

If(System.IO.File.Exists(idwPathName)) Then
                        Dim oDrawDoc As DrawingDocument
                        
               oDrawDoc = ThisApplication.Documents.Open(idwPathName, False)               
            oFileName = Left(oRefDoc.DisplayName, Len(oRefDoc.DisplayName))

                p = Parameter(oFileName &":1", "FORMAT")
                If p = "A3" Then
                oFolderV = oFolder_A3
                Else
                oFolderV = oFolder_A4
                End If
                

                
            On Error Resume Next ', pokud soubor PDF existuje a je otev�en� nebo pouze pro �ten�, pokra�ujte d�le
            
                 'Nastavte n�zev c�lov�ho souboru PDF
                oDataMedium.FileName = oFolderV & "\" & oFileName & ".pdf"
                'aktualizuje
                oDrawDoc.StylesManager.Layers().Visible = False
                oDrawDoc.StylesManager.Layers().Visible = True

                iLogicVb.UpdateWhenDone = True
                'Napi�te PDF
                Call PDFAddIn.SaveCopyAs(oDrawDoc, oContext, oOptions, oDataMedium)
            'zav�i soubor
                oDrawDoc.Close
Else
'Pokud model nem� v�kres se stejnou cestou a n�zvem - ned�lejte nic
End If

Next
' - - - - - - - - - - - - - - -

' - - - - - - - - - - - - - - V�kres nejvy��� �rovn� - - - - - - - - - - - - - -


oAsmDrawing = ThisDoc.ChangeExtension(".idw")
oAsmDrawingDoc = ThisApplication.Documents.Open(oAsmDrawing, True)
oAsmDrawingName = Left(oAsmDrawingDoc.DisplayName, Len(oAsmDrawingDoc.DisplayName))
'vypi�te PDF pro soubor v�kresu sestavy nejvy��� �rovn�
On Error Resume Next  ', pokud soubor PDF existuje a je otev�en� nebo pouze pro �ten�, pokra�ujte d�le
 'Nastavte n�zev c�lov�ho souboru PDF
 
                 p = Parameter.Param( "FORMAT")
                If p = "A3" Then
                oFolderVS = oFolder_A3
                Else
                oFolderVS = oFolder_A4
                End If
 
oDataMedium.FileName = oFolderVS & "\" & oAsmDrawingName & ".pdf"
'Napi�te PDF
Call PDFAddIn.SaveCopyAs(oAsmDrawingDoc, oContext, oOptions, oDataMedium)
'Zav�ete v�kres nejvy��� �rovn�
oAsmDrawingDoc.Close
'- - - - - - - - - - - - -
'
'MessageBox.Show("Nov� soubory vytvo�en� v: " & vbLf & oFolder, "iLogic")
''otev�ete slo�ku, kam jsou ulo�eny nov� soubory 
Shell("explorer.exe " & oFolder,vbNormalFocus) 


Připojené náhledyPřihlaste se pro zobrazení plné verze - 4903/export_ze_sestavy.JPG

 
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 20325
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 16.pro.2021 v 16:45
Náhodně ve smyslu "na některých výkresech" nebo "někdy ano někdy na na tomtéž výkresu"? Ruční publikování se stejnými parametry proběhne dobře vždy? Zkuste zrušit ten IF u nastavování Options.
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 426
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 17.led.2022 v 16:05
Zdravím,

Zjistil jsem že mi toto pravidlo spouští pravidla v dílech která jsou ovládána pomocí spouštěče událostí "před uložením" a "po uložení" ... 

Je možnost použít do tohoto pravidla po vyhledání výkresu dílu něco jako : počkej na ukončení  
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 20325
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 17.led.2022 v 18:00
Zkuste přidat

ThisApplication.UserInterfaceManager.DoEvents

ale tou "pozdní událostí" by to mohlo být způsobeno, PDFAddIn jede v jiném threadu.
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 6410:VIPChybné umístění kótovacího textu při importu ze starších verzí DWG.
Tip 10940:Tisk náhodných čar, které nejsou na výkrese.
Tip 9932:Publikovaný PDF soubor je zobrazen zubatě nebo zkresleně.
Tip 7729:Chyby celobarevných šraf v PDF souboru z AutoCADu.
Tip 5872:Chyba "Chybná definice typu čáry" při načítání typů čar z .LIN souboru.
Tip 9646:Chyba tisku PDF - dokument nejde vytisknout.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,156 sekund.