Vytisknout stránku | Zavřít okno

Datum změny výkresu - automatická aktualizace

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: Inventor
Popis fóra: Otázky k programům Autodesk Inventor Professional, Product Design & Manufacturing Collection, Factory Design; digitální prototypy
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=19020
Datum vytištění: 07.čer.2026 v 11:19


Téma: Datum změny výkresu - automatická aktualizace
Odeslal: Invent
Předmět: Datum změny výkresu - automatická aktualizace
Datum odeslání: 26.bře.2014 v 09:38

Prosím o radu.

V Inventoru 2013 jsem měl ve výkresu makro, které při uložení výkresu automaticky přepsalo datum změny ve výkrese.

Po přechodu na Inventor 2014 mi toto makro přestalo fungovat, přitom je ve výkrese (novém i starém) stále obsaženo. Nevíte kde je problém a jak jej vyřešit aby makro znofu fungovalo?

Zde je text zmíněného makra.

Public Sub AutoSave()
Call AddSysDateTime
End Sub
Public Sub AddSysDateTime()
On Error Resume Next
'Check if the active document is a Drawing
If ThisApplication.ActiveDocumentType = kDrawingDocumentObject Then

'Add a custom property "SysDate" with system date
Set oPropSet = ThisApplication.ActiveDocument.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
'As a workaround the property must be delete because it can not be changed

oPropSet.Item("SysDate").Delete

Call oPropSet.Add(Format(Date, "d.m.yyyy"), "SysDate")
'Add a custom property "SysTime" with system time
Set oPropSet = ThisApplication.ActiveDocument.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
'As a workaround the property must be delete because it can not be changed
oPropSet.Item("SysTime").Delete
Call oPropSet.Add(Format(Time, "h:mmam/pm"), "SysTime")
'Still having some problems that the last property does not update correct
Call RefreshProperties
End If
End Sub
Private Sub RefreshProperties()
Set oPropSet = ThisApplication.ActiveDocument.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
Call oPropSet.Add("", "MyDummy")
oPropSet.Item("MyDummy").Delete
End Sub




Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 27.bře.2014 v 09:08
Doporučuji použít vestavěnou funkci datumu v X-Tools, funguje automaticky.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Navara
Datum odeslání: 27.bře.2014 v 09:27
Tohle makro už fungovat nebude, protože používalo potenciálně nebezpečnou funkci AutoSave()
Tato a jí podobné funkce AutoOpen, AutoNew, AutoSave, AutoClose, and AutoEdit byly bez náhrady zrušeny. Jedinou možností tak je přepsat to jako AddIn, nebo použít X-Tools


Odeslal: kosulic
Datum odeslání: 27.bře.2014 v 13:30
Nebude takováto, s prominutím, ptákovina (velice potřebná) někdy defaultně v Inventoru?

Používal jsem "datum uložení" v inventoru 0011 s programem Iproperty (což byl asi předchůdce X-tools). Pak jsem musel na nové verze předělávat kusovníky zpět na datum vytvoření. 
Xtools mám, ale bojím se, že to zase do budoucna z jakéhokoliv důvodu nebude fungovat.


Odeslal: Navara
Datum odeslání: 27.bře.2014 v 13:37
Nevím, kdo přesně stál za doplňkem iProperty. Myslím, že u X-Tools něco podobného v dohledné době nehrozí. A pokud by se v budoucnu přece jen stalo, že by jejich vývoj skončil, tak bude určitě k dispozici nějaká důstojná náhrada, nebo se alespoň zveřejní zdrojové kódy, aby v tom mohl někdo pokračovat.


Odeslal: Invent
Datum odeslání: 28.bře.2014 v 08:33

Nainstaloval jsem X-tools a po nastavení to funguje.

Nevíte jestli by se dalo pomocí tohoto X-tools nastavit i přepsání jména podle toho, kdo udělal poslední změnu ve výkrese?



Odeslal: Boleslav
Datum odeslání: 28.bře.2014 v 11:41
Jestli to není v X-tools, můžete na to použít makro v iLogic:

iProperties.Value("Custom","LastUser") = ThisApplication.UserName



Vytisknout stránku | Zavřít okno