Добрый день! очень клёвое видео, Спасибо! А можно ли правила написанные в iLogic, вынести кнопкой, в идеале на панель быстрого доступа? У меня для деталей мех.обработки достаточно чертёж "сохранить как PDF", а вот для листовых деталей ещё нужен DXF, поэтому написал правило "сохранить как PDF+DXF", но как их вынести в более доступное место?
Добрый день! Спасибо за обратную связь! По вашему вопросу: к сожалению, правило ilogic нельзя вынести в панель отдельной кнопкой (возможно в будущих версиях такое появится) Наиболее близкое к вас - добавление кнопок из макросов VBA. Возможно по этой теме, запишу меленькое видео-руководство А так, по хорошему, кнопки добавляются написанием своих аддинов для инентора
@@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
Добрый день! Программа для автоматического сохранения разверток из модели в DXF. В описании к видео - ссылка на скачивание. Можете самостоятельно познакоиться с программой
Добрый день! Огромное спасибо за столь подробное описание процесса и написание кода! Подскажите пожалуйста, данный код сохраняет .pdf только первой страницы чертежа но почему то не все листы чертежа, а если чертеж на 2 и более страницах, как дописать код, чтобы сохранялись все страницы в одном файле .pdf
Добрый день! Скорее всего у вас в Параметрах сохранения PDF выставлен диапозон печати: текущий листа Измените это значение на Все листы Таким образом, в дальнейшем, после отработки правила, будут экспортированы все листы чертежа подробнее тут: recordit.co/rPkpAnzIvH
@@dxf-autohelpdesk Подскажите пожалуйста, как дописать код в правило, чтобы выскакивало диалоговое окно с вопросом сохранить копию пдф или нет. не совсем удобно чтобы всегда перезаписывался файл.
Ещё то проклятье сидеть дома и работать, то пожрать, то полежать. А если серьёзно, привет из т.н. Украины, где лишний раз страшно высунуть нос на улицу, ибо принудительно можешь быть отправлен на уничтожение себе подобных славян
Здравствуй. Подскажи пожалуйста, что это значит? Ошибка в строке 4 : "MagBox" не объявлен. Может быть недоступен из-за своего уровня защиты. Ошибка в строке 4 : "MagBoxStyle" не объявлен. Может быть недоступен из-за своего уровня защиты. Вроде как то получилось. Но ещё вопрос, если можно. А можно как то сделать, если pdf файл создан, но ты ещё раз редактируешь чертёж, и заново его закрываешь и у меня ошибку: Ошибка в строке 2 правила ExportPDF в документе Удалить!!!.idw Неопознанная ошибка (Исключение из HRESULT: 0x80004005 (E_FAIL)) Я вообще не программист, но думаю, он ошибку выдаёт, т.к. pdf уже есть и он не может его заменить. Спасибо.
Инвентор конечно более продуман, в большинстве вопросов. Но в целом, через 100 часов работы и Компас кажется родным и знакомым. А все чего не хватает, можно решить с помощью API!;)
@@dxf-autohelpdesk Я работал в компасе с 2003 года. В этом году начал усиленно работать в инвенторе. Компас вообще ни в какое сравнение не идет с инвентором. Просто глючный непродуманный продукт. Я просто в шоке от возможностей инвентора.
На данном этапе, программа доступна только на русском языке! С ценами и другими вопросами, можно ознакоиться тут: dxfautohelp.wixsite.com/dxfauto/%D1%86%D0%B5%D0%BD%D1%8B
В ссылке доступны отдельно, программа для Компас и отдельно для Inventor. Скачайте и установите DXF Auto для Inventor. Интерфейс программы и основные функции идентичны вне зависимости от версии программы
Для информации! Функционал преобразования в листовое тело доступен и более удобно реализован в составе DXF-Auto Inventor Подробнее с программой можно ознакомиться тут: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tVJ-AkALW_o.html Ссылка для скачивания DXF-Auto: cloud.mail.ru/public/SYLT/EmW6DNSP8
Программа, в процессе создания разверток использует "движок" компаса Соответственно, если ваша задача, решается "в ручном"режиме компаса - DXF Auto его решить очень быстро и правильно(на сколько это может Компас) Если такое компаса решить не смог - не сможет и DXF Auto
Можно ли сделать так, чтобы в штампе изначально высвечивалась название организации? Чертежей приходится делать много и каждый раз приходится в штампе вбивать название организации. Может есть способ ускорить процесс, типа открыл чертеж, а там уже в штампе вбита название организации.
Решений в данном случае 3: 1. Готовое универсальное решение, в которой заполняются все параметры штампа DevTools ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-W5gtfM-drj0.html 2. Разработка скрипта, которой меняет организацию 3. Настройка шаблонов (для новых чертежей)
Добрый день! Вы можете имя файла и директорию самостоятельно указать в переменной PDFFileName. Например: PDFFileName = "c:\pdffile.pdf" После отработки правила, в корне диска С, будет создан PDF file с названием "pdffile.pdf".
Добрый день, подскажите пожалуйста, как сохранять PDF для многолистового файла Inventor, чтобы все листы из Inventor сохранялись как один многостраничный PDF файл?
Ниже код, который позволяет экспортировать выделенную грань в формат 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
в случае с глобальными формулами для компонентов, входящих в состав активной сборки, главня беда - неверная ссылка на "активный документ" Если проще, то в ilogic есть встроенные функции и процедуры, которые касаются непосредственно активного, открытого в данный момент документа. Т.е., когда пользователь хочет что то поменять в составе конкретной детали, в составе активной сборки, правило ilogic попросту не находит(или находит но не тот что нужен пользователю) параметр с которым нужно провести какое то действие
Шикарная программа. А что если от модели остались только чертежи. Можно ли в автоматическом режиме преобразовать в DXF+картинка (при этом, удалить все размеры и вспомогательные линии) И определяет ли программа одинаковые файлы, даже если они находятся под разным обозначением?
По вервому вопросу: нет. Если у вас есть модели, то DXF-Auto будет проще сгенерировать из модели новый DXF-файлы. Тогда незачем обрабатывать чертеж в попытке фильтра развертки от всех остальных видов и объектов на чертеже. По сохранению экспортированных разверток в картинки, функционал DXF-Auto, позволяет сохранять картинки вместе с DXF-файлом(подробнее: DXF-Auto - Настройки - Линии развертки - Сохранять в растровый формат)
По второму вопросу: по умолчанию, DXF-Auto при сканировании состава собирает информацию по основным параметрам модели(Имя файла, Обозначение, Наименование), при этом, в случае, если у модели одинаковое имя файла, но разное обозначение(исполнения в параметрической модели), то это будут разные позиции, в составе и конечно, при выгрузке DXF, для каждого исполнения будет создан отдельный файл
@@dxf-autohelpdesk По первому вопросу понял. А вот по второму, если в 1 сборке 1 деталь будет иметь обозначение ПЛАСТИНА, а в другой сборке ЛИСТ, по факту одна и та же деталь, с такими же размерами, толщиной и тд. Сможет ли программа определить их сходство и выдать какое-нибудь предупреждение?
@@dxf-autohelpdesk Понял, спасибо! Обязательно попробую, сейчас смотрю ваши ролики по программе ВОМ, тоже очень нужная программа. Сильно поможет мне для изучения модели которую создавал другой конструктор
Скачал демо версию. Демо версия демонстрирует только интерфейс программы. Работу программы и , как сказано, корректно задать развертку нет возможности проверить. Но за идею, конечно, спасибо. Красиво.
Добрый день, подскажите как можно получить развертку или преобразовать в листовые тела профилей труб квадратного и круглого сечения созданных через библиотеку металлоконструкций в компасе
Добрый день! сожалению, функционала получения развертки для профилей, на данном этапе нет ни для какой либо CAD системы. Данное ограничение, в основном связано, с ограниченностью самих CAD систем
Добрый день! если вы пытаетесь эскортировать файл в другое расширение(например, файл ipt в step) - то нужно пользоваться транслятоми при этом, имя экспортируемого файла, можно выбрать какое угодно, в том числе, имя файла сборки
@@dxf-autohelpdesk Dim DXFFileName = ThisDoc.PathAndFileName(False) & Parameter("P.БСК.iam.БСК") & ".DXF" - вот так прописываю. При сохранение в dxf имя файла состоит из название чертежа .dwg и моего экспортируемого параметра. Как убрать название части от чертежа? Спасибо
Странно. Программа собирает данные только о профилях из "Генератора рам"... А что если там есть профили вставленные непосредственно из библиотеки, вручную? (В моей практике это Очень часто) Утилита становится бесполезной!
Данное приложение, было создано по просьбе одного предприятия. Весь функционал заточен под "традиции" этого предприятия. Касаемо профилей, вставляемых вручную, из библиотеки. Программа для них, будет также, считать длине, сортамент, наличие отверстий. Возможно, исключение составит информация об угле реза на торцах