Тёмный

iLogic. Инициатор событий в Inventor. Автосохранение чертежа в PDF 

DXF-Auto Helpdesk
Подписаться 340
Просмотров 2,1 тыс.
50% 1

В видео, разбираемся о том, что такое Инициатор событий Inventor.
О том, как связывать iLogic с определенными событиями в документах Inventor.
Решим практическую задачу про автосохраннтие чертежа в PDF
По вопросам сотрудничества: DXFAutoHelp@gmail.com
Мы в ВК: autocadwork
канал в ТГ: t.me/InventorAPI

Наука

Опубликовано:

 

4 авг 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 31   
@EvgeneyZhalnerovich-ow2mv
@EvgeneyZhalnerovich-ow2mv Месяц назад
Добрый день! очень клёвое видео, Спасибо! А можно ли правила написанные в iLogic, вынести кнопкой, в идеале на панель быстрого доступа? У меня для деталей мех.обработки достаточно чертёж "сохранить как PDF", а вот для листовых деталей ещё нужен DXF, поэтому написал правило "сохранить как PDF+DXF", но как их вынести в более доступное место?
@dxf-autohelpdesk
@dxf-autohelpdesk Месяц назад
Добрый день! Спасибо за обратную связь! По вашему вопросу: к сожалению, правило ilogic нельзя вынести в панель отдельной кнопкой (возможно в будущих версиях такое появится) Наиболее близкое к вас - добавление кнопок из макросов VBA. Возможно по этой теме, запишу меленькое видео-руководство А так, по хорошему, кнопки добавляются написанием своих аддинов для инентора
@EvgeneyZhalnerovich-ow2mv
@EvgeneyZhalnerovich-ow2mv Месяц назад
@@dxf-autohelpdesk , покопал нарыл код для макросов для решения моей задачи, одна проблема - СДЕЛАТЬ ТАК ЧТОБЫ НОВЫЕ ФАЙЛЫ DXF и PDF СОХРАНИЛИСЬ ПО ТОМУ ЖЕ ПУТИ ЧТО И ФАЙЛЫ inventor????... ниже код для VBA редактора, на оба макроса сразу.... в последний строчках что-то нужно писать, а что.... помогите плиз))) -------------------------------------------------------------------------------------- Public Sub PublishDXF() ' Get the DXF translator Add-In. Dim DXFAddIn As TranslatorAddIn Set DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext Set oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium ' Check whether the translator has 'SaveCopyAs' options If DXFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then Dim strIniFile As String strIniFile = "C:\tempDXFOut.ini" ' Create the name-value that specifies the ini file to use. oOptions.Value("Export_Acad_IniFile") = strIniFile End If 'Set the destination file name oDataMedium.FileName = "d:\testDXF.dxf" 'Publish document. Call DXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) End Sub -------------------------------------------------------------------------------------- Public Sub PublishPDF() ' Get the PDF translator Add-In. Dim PDFAddIn As TranslatorAddIn Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext Set oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium ' Check whether the translator has 'SaveCopyAs' options If PDFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then ' Options for drawings... oOptions.Value("All_Color_AS_Black") = 0 'oOptions.Value("Remove_Line_Weights") = 0 'oOptions.Value("Vector_Resolution") = 400 'oOptions.Value("Sheet_Range") = kPrintAllSheets 'oOptions.Value("Custom_Begin_Sheet") = 1 'oOptions.Value("Custom_End_Sheet") = 4 End If 'Set the destination file name oDataMedium.FileName = "d:\testPDF.pdf" 'Publish document. Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) End Sub
@user-gx4jn2en2e
@user-gx4jn2en2e 5 месяцев назад
Можно ли задать какой-нибудь счетчик или таймер в правилах? Хочу, чтобы происходило обычное автосохранение по времени
@dxf-autohelpdesk
@dxf-autohelpdesk 5 месяцев назад
Если я вас правильно понимаю, вы хотите сделать примерно такое авто сохранение как в автокаде/Ворде В рамках ilogic такое будет сложно сделать
@Acheslav
@Acheslav 2 года назад
Один из немногих каналов, которые продвигают Inventor и iLogic. Супер! Подскажите, как с помощью iLogic "экспортировать грань как..."
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
Ниже код, который позволяет экспортировать выделенную грань в формат DXF: Dim DXFAddIn As TranslatorAddIn DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium oDataMedium = ThisApplication.TransientObjects.CreateDataMedium ' Check whether the translator has 'SaveCopyAs' options If DXFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then Dim strIniFile As String strIniFile = "C:\temp\DXF_R12.ini" 'this is a pre-configed ini file ' Create the name-value that specifies the ini file to use. oOptions.Value("Export_Acad_IniFile") = strIniFile End If 'Set the destination file name oDXFFullFileName = ThisDoc.PathAndFileName(False) & ".dxf" oDataMedium.FileName = ThisDoc.PathAndFileName(False) & "_ThrowAway.dxf" 'Publish throw away document. DXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) 'delete file If System.IO.File.Exists( oDataMedium.FileName ) = True Then System.IO.File.Delete( oDataMedium.FileName ) End If Dim oCtrlDef As ButtonDefinition oCtrlDef = ThisApplication.CommandManager.ControlDefinitions.Item("GeomToDXFCommand") ThisApplication.CommandManager.PostPrivateEvent(PrivateEventTypeEnum.kFileNameEvent, oDXFFullFileName) oCtrlDef.Execute
@egorlobahin8270
@egorlobahin8270 2 года назад
@@dxf-autohelpdesk это чё такое? О_О
@user-ce8xg7ul8f
@user-ce8xg7ul8f 8 месяцев назад
Добрый день! Огромное спасибо за столь подробное описание процесса и написание кода! Подскажите пожалуйста, данный код сохраняет .pdf только первой страницы чертежа но почему то не все листы чертежа, а если чертеж на 2 и более страницах, как дописать код, чтобы сохранялись все страницы в одном файле .pdf
@dxf-autohelpdesk
@dxf-autohelpdesk 8 месяцев назад
Добрый день! Скорее всего у вас в Параметрах сохранения PDF выставлен диапозон печати: текущий листа Измените это значение на Все листы Таким образом, в дальнейшем, после отработки правила, будут экспортированы все листы чертежа подробнее тут: recordit.co/rPkpAnzIvH
@user-ce8xg7ul8f
@user-ce8xg7ul8f 8 месяцев назад
@@dxf-autohelpdesk Огромное Спасибо! Действительно все заработало! Спасибо за оперативный ответ!
@user-ce8xg7ul8f
@user-ce8xg7ul8f 8 месяцев назад
@@dxf-autohelpdesk Подскажите пожалуйста, как дописать код в правило, чтобы выскакивало диалоговое окно с вопросом сохранить копию пдф или нет. не совсем удобно чтобы всегда перезаписывался файл.
@voliahim
@voliahim 2 года назад
Здравствуйте. Спасибо за видео. А как сохранить pdf файлы в другую папку? Как в коде указать путь сохранения?
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
Добрый день! Вы можете имя файла и директорию самостоятельно указать в переменной PDFFileName. Например: PDFFileName = "c:\pdffile.pdf" После отработки правила, в корне диска С, будет создан PDF file с названием "pdffile.pdf".
@voliahim
@voliahim 2 года назад
@@dxf-autohelpdesk А чтобы сохранялось в папку проект/чертежи/pdf и с именем файла чертежа?
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
Напишите на почту: dxfautohelp@gmail.com
@user-tl3jq6xp2y
@user-tl3jq6xp2y 2 года назад
Добрый день. А как можно изменить имя файла сохраненного документа с новым расширением? Можно ли имя файла взять с параметра сборки?
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
Добрый день! если вы пытаетесь эскортировать файл в другое расширение(например, файл ipt в step) - то нужно пользоваться транслятоми при этом, имя экспортируемого файла, можно выбрать какое угодно, в том числе, имя файла сборки
@user-tl3jq6xp2y
@user-tl3jq6xp2y 2 года назад
@@dxf-autohelpdesk Dim DXFFileName = ThisDoc.PathAndFileName(False) & Parameter("P.БСК.iam.БСК") & ".DXF" - вот так прописываю. При сохранение в dxf имя файла состоит из название чертежа .dwg и моего экспортируемого параметра. Как убрать название части от чертежа? Спасибо
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
@@user-tl3jq6xp2y Если я вас правильно понял, то нужно делать так: ThisDoc.Path & "\" & Parameter("P.БСК.iam.БСК") & ".DXF"
@user-tl3jq6xp2y
@user-tl3jq6xp2y 2 года назад
@@dxf-autohelpdesk, помогло, спасибо
@user-lq5gx7lp7q
@user-lq5gx7lp7q 2 года назад
Добрый день, подскажите пожалуйста, как сохранять PDF для многолистового файла Inventor, чтобы все листы из Inventor сохранялись как один многостраничный PDF файл?
@dxf-autohelpdesk
@dxf-autohelpdesk 2 года назад
Добрый день! На сколько мне известно, по умолчанию, при экспорте файла в PDF, автоматически сохраняются все листы данного чертежа, в один файл
@alexey0290
@alexey0290 Год назад
@@dxf-autohelpdesk , а наоборот. Многолистовой файл чертежа сохранить как несколько файлов pdf возможно?
@dxf-autohelpdesk
@dxf-autohelpdesk Год назад
@@alexey0290 Да! Но это уже совсем другая история!:)
@alexey0290
@alexey0290 Год назад
@@dxf-autohelpdesk, решается ли эта задача средствами ilogic?
@dxf-autohelpdesk
@dxf-autohelpdesk Год назад
@@alexey0290 Да, но это не тривиально!
@Takwas8
@Takwas8 Год назад
Здравствуй. Подскажи пожалуйста, что это значит? Ошибка в строке 4 : "MagBox" не объявлен. Может быть недоступен из-за своего уровня защиты. Ошибка в строке 4 : "MagBoxStyle" не объявлен. Может быть недоступен из-за своего уровня защиты. Вроде как то получилось. Но ещё вопрос, если можно. А можно как то сделать, если pdf файл создан, но ты ещё раз редактируешь чертёж, и заново его закрываешь и у меня ошибку: Ошибка в строке 2 правила ExportPDF в документе Удалить!!!.idw Неопознанная ошибка (Исключение из HRESULT: 0x80004005 (E_FAIL)) Я вообще не программист, но думаю, он ошибку выдаёт, т.к. pdf уже есть и он не может его заменить. Спасибо.
@dxf-autohelpdesk
@dxf-autohelpdesk Год назад
Думаю проблема в орфографической ошибке! не "MagBox", а "MsgBox" и соответсвенно не "MagBoxStyle", а "MsgBoxStyle"
@Takwas8
@Takwas8 Год назад
@@dxf-autohelpdesk Получилось. Хотя у меня и через Mag работало, криво но работало. Спасибо большое
Далее
ТЫ С ДРУГОМ В ДЕТСТВЕ😂#shorts
01:00
Правила iLogic в Autodesk Inventor
28:04
Просмотров 14 тыс.
Об оккультном фашисте Дугине
38:23
КРАХ WINDOWS 19 ИЮЛЯ 2024 | ОБЪЯСНЯЕМ
10:04