Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy CAD Studio [www.cadforum.cz]
Česky Slovensky English Deutsch
Přihlášení:
▶ Registrace

 právě nás čte: 2753 
RSS tipy RSS kanál - CAD tipy
RSS diskuze RSS kanál - CAD 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 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

Téma uzavřenoFormaty vykresu

 Odpovědět Odpovědět archiv
Autor
CADCAPONE Zobrazit panel
Diskutér
Diskutér

Přihlášen: 13.lis.2012
Lokalita: Slovensko
Používám:
Inventor 2016
Stav: Offline
Bodů: 72
Přímý odkaz na tuto zprávu Téma: Formaty vykresu
    Zasláno: 20.kvě.2014 v 09:47
Dobrý den.
Potreboval by som poradiť s Ilogic na zmenu velkosti výkresu.
Problém je v tom že ked zmením výkes z A4 na A2 tak ho zmení ale nepridelí mi tam rámik. Titulný blok pridelí v poriadku aj velkosť listu aj orientáciu.

Ďakujem za pomoc


Tu je iLogic:

____
Sub Main()


    Dim cd
    cd = ThisApplication.CommandManager.ControlDefinitions("DrawingBorderInsertNoDlgCtxCmd")
   
    Dim bp
    bp = ThisApplication.ActiveDocument.BrowserPanes.Item("Model")
    ChangeList()
    Dim node
    node = FindBorderNode(Format_vykresu, bp.TopNode.BrowserNodes)
   
    If Not ThisDoc.Document.ActiveSheet.Border Is Nothing Then
    ThisDoc.Document.ActiveSheet.Border.Delete
    End If
   
    node.DoSelect
    cd.Execute2 (True)   
    InventorVb.DocumentUpdate
    iLogicVb.UpdateWhenDone = True
    ThisApplication.ActiveView.Fit
End Sub

Function FindBorderNode(name, nodes)
    Dim node
    For Each node In nodes
        If name = node.BrowserNodeDefinition.Label Then
            FindBorderNode = node
            Exit Function
        End If
   
        FindBorderNode = FindBorderNode(name, node.BrowserNodes)
        If Not FindBorderNode Is Nothing Then
            Exit Function
        End If
    Next
End Function

Function ChangeList()
kLandscapePageOrientation = 10242
kPortraitPageOrientation = 10243
If Format_vykresu = "CEP A4" Then
ActiveSheet.ChangeSize("A4", MoveBorderItems := True)
ThisApplication.ActiveDocument.ActiveSheet.Orientation  = kPortraitPageOrientation

Else If Format_vykresu = "CEP A3" Then
ActiveSheet.ChangeSize("A3", MoveBorderItems := True)
ThisApplication.ActiveDocument.ActiveSheet.Orientation  = kLandscapePageOrientation


Else If Format_vykresu = "CEP A2" Then
ActiveSheet.ChangeSize("A2", MoveBorderItems := True)
ThisApplication.ActiveDocument.ActiveSheet.Orientation  = kLandscapePageOrientation

Else If Format_vykresu = "CEP A1" Then
ActiveSheet.ChangeSize("A1", MoveBorderItems := True)
ThisApplication.ActiveDocument.ActiveSheet.Orientation  = kLandscapePageOrientation

Else If Format_vykresu = "CEP A0" Then
ActiveSheet.ChangeSize("A0", MoveBorderItems := True)
ThisApplication.ActiveDocument.ActiveSheet.Orientation  = kLandscapePageOrientation

End If

End Function

Zpět nahoru
Navara Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1223
Přímý odkaz na tuto zprávu Zasláno: 20.kvě.2014 v 15:28
Kdo vám tuhle hrůzu napsal?
Zkuste tohle
  Sub Main()
      Dim Format_vykresu As String = "CEP A2" 'TODO: Nastavit spravnou hodnotu
      Dim oSheet As Sheet = ThisDrawing.ActiveSheet.Sheet
      ChangeSheetSize(Format_vykresu, oSheet)
  End Sub
  Sub ChangeSheetSize(Format_vykresu As String, oSheet As Sheet)
      Select Case Format_vykresu
          Case "CEP A1"
              oSheet.Size = DrawingSheetSizeEnum.kA1DrawingSheetSize
              oSheet.Orientation = PageOrientationTypeEnum.kLandscapePageOrientation
          Case "CEP A2"
              oSheet.Size = DrawingSheetSizeEnum.kA2DrawingSheetSize
              oSheet.Orientation = PageOrientationTypeEnum.kLandscapePageOrientation
          Case "CEP A3"
              oSheet.Size = DrawingSheetSizeEnum.kA3DrawingSheetSize
              oSheet.Orientation = PageOrientationTypeEnum.kLandscapePageOrientation
          Case "CEP A4"
              oSheet.Size = DrawingSheetSizeEnum.kA4DrawingSheetSize
              oSheet.Orientation = PageOrientationTypeEnum.kPortraitPageOrientation
      End Select
      Dim borderDef As BorderDefinition = oSheet.Parent.BorderDefinitions(Format_vykresu)
      oSheet.Border.Delete()
      oSheet.AddBorder(borderDef)
  End Sub
Zpět nahoru
CADCAPONE Zobrazit panel
Diskutér
Diskutér

Přihlášen: 13.lis.2012
Lokalita: Slovensko
Používám:
Inventor 2016
Stav: Offline
Bodů: 72
Přímý odkaz na tuto zprávu Zasláno: 20.kvě.2014 v 21:43
Ďakujem. To čo znamená nastaviť správnu hodnotu?Akú? tomu som nepochopil.

Ďakujem za vysvetlenie.
Zpět nahoru
CADCAPONE Zobrazit panel
Diskutér
Diskutér

Přihlášen: 13.lis.2012
Lokalita: Slovensko
Používám:
Inventor 2016
Stav: Offline
Bodů: 72
Přímý odkaz na tuto zprávu Zasláno: 21.kvě.2014 v 07:04
Nefunguje to.Rámček mi uplne vymaže. ja mám nadefinované rámčeky svoje.
Zpět nahoru
Navara Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1223
Přímý odkaz na tuto zprávu Zasláno: 21.kvě.2014 v 08:28

Z vašeho příspěvku není jasné, jak se dostanete k proměnné Format_vykresu
Použité pro nastavování formátu


If Format_vykresu = "CEP A4" Then

a volby rámečku

Dim node
node = FindBorderNode(Format_vykresu, bp.TopNode.BrowserNodes)

Ten kód taky předpokládá, že rámeček se jmenuje stejně jako je hodnota té proměnné.
Pokud máte jinak pojmenované rámečky, je potřeba upravit 4. řádek odspodu mého kódu tak, aby to odpovídalo vašim pojmenovaným rámečkům.


Dim borderDef As BorderDefinition = oSheet.Parent.BorderDefinitions(Format_vykresu)

 

Zpět nahoru
Navara Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1223
Přímý odkaz na tuto zprávu Zasláno: 22.kvě.2014 v 11:27
Tady je funkční prototyp. Pro změnu formátu použijte Formulář1

Připojené souboryzipuploads/9996/ZmenaFormatu.zip
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 5848:VIPSkládání PLT výkresů (nesting) i na plotry nepodporující tuto funkci.
Tip 8990:Jak převést DWG výkres do formátu SVG? (mezikonverze)
Tip 7682:Extra dlouhé výkresy na HP Designjet T1200.
Tip 3596:Jak automatizovat uložení rozvržení do samostatných DWG výkresů?
Tip 5868:Automatický export všech rozvržení do samostatných DWG souborů.
Tip 2755:Jednoduchá ochrana před modifikací výkresu.


 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,423 sekund.