Как запрограммировать экспорт чертежа?

Страницы: 1
RSS
Как запрограммировать экспорт чертежа?, экспорт чертежа в dwg (инвентор)
Здравствуйте! Тема была случайно удалена. Восстанавливаю.

Здравствуйте! Помогите, пожалуйста.
1. Руками делается следующее:
файл чертежа АИ на нескольких листах - экспорт в DWG (файлы чертежей АИ (.DWG)) => получается 1 файл с расширением .dwg, в котором находятся все листы в пространстве листов.
Как это автоматизировать, если возможно?

Кроме вот такого кода не знаю, что придумать, но это не то:
changedName = ThisDoc.ChangeExtension(".dwg")
ThisDoc.Document.SaveAs(changedName , True)

2. Этот же код с расширением .pdf выдает ошибку.
Что надо добавить или исправить что бы получить файл с расширением .pdf?

Спасибо.

Ответили, что бы посмотрела здесь:
https://cad.ru/ru/forum/index.php?PAGE_NAME=read&FID=20&TID=7879&TITLE_SEO=7879

Появились еще вопросы.

Спасибо, что ткнули носом - поиск не нашел,а сама пропустила, когда просматривала форум.

1. экспорт в PDF заработал, еще раз спасибо.

2. экспорт в dwg - выдает ошибку во время выполнения.
код был взят здесь:
http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Export-sheet-to-DWG/m-p/3341737/highlight/true#M37592

Подскажите, Правило обращается к файлу DWGout.ini. я не нахожу этот файл у себя. Попыталась дать ему файл ExportDWG.ini - выдает ту же ошибку.
Где мне взять DWGout.ini? Или, можете предположить, в чем еще может быть проблема?
Цитата
Anastasiya2017 пишет:
Тема была случайно удалена.
Ну слава богу, а я вчера подумал, что у меня глюки, отвечаю - тема не найдена, утром захожу, нет такой темы...
Цитата
Anastasiya2017 пишет:
Правило обращается к файлу DWGout.ini.
Смысл в чем в том скрипте (Вы там все разремкали, удалили " ' ")? По умолчанию скрипт экспортирует активный лист, в том скрипте экспортируется произвольный (там вроде как 3-й). Попробуйте такой вариант:
Код
' Check whether the translator has 'SaveCopyAs' options
If DWGAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then
' Create the name-value that specifies the ini file to use.
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
End If
Не проверял, просто по логике скрипта...)
Изменено: Алексей Романов - 02.11.2018 13:59:05
Никогда не говори никогда.
1. Та же ошибка во время выполнения. При том АИ о чем то думает-думает, а потом ошибка.

2. По Вашей ссылке, из последнего поста был утащен вот такой рабочий код :
oPath = ThisDoc.Path
oFileName = ThisDoc.FileName(False) 'without extension
oRevNum = iProperties.Value("Project", "Revision Number")
oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
oDocument = ThisApplication.ActiveDocument
oContext = ThisApplication.TransientObjects.CreateTranslationContext
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

'If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then
oOptions.Value("All_Color_AS_Black") = 1
oOptions.Value("Remove_Line_Weights") = 0
oOptions.Value("Vector_Resolution") = 600
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
'oOptions.Value("Custom_Begin_Sheet") = 2
'oOptions.Value("Custom_End_Sheet") = 4
'End If
'Set the destination file name
'oDataMedium.FileName = iProperties.Value("Project", "Part Number") & ".pdf"
oDataMedium.FileName =  oFileName & ".pdf"
'Publish document
oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions,oDataMedium)

В нем IF не используется, если разремкать, то появляется ошибка "не правильный указатель".

Я из этого рабочего кода(с заремканым if) делаю такое:

oPath = ThisDoc.Path
oFileName = ThisDoc.FileName(False) 'without extension
oRevNum = iProperties.Value("Project", "Revision Number")
oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
oDocument = ThisApplication.ActiveDocument
oContext = ThisApplication.TransientObjects.CreateTranslationContext
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

If opdfAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then
Dim strIniFile As String
strIniFile = "C:\temp\exportdwg.ini"
' Create the name-value that specifies the ini file To use.
oOptions.Value("Export_Acad_IniFile") = strIniFile
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
oOptions.Value("Custom_Begin_Sheet") = 1
oOptions.Value("Custom_End_Sheet") = 1
End If
'Set the destination file name
'oDataMedium.FileName = iProperties.Value("Project", "Part Number") & ".pdf"
oDataMedium.FileName =  oFileName & ".dwg"
'Publish document
oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions,oDataMedium)

В результате создается файл.dwg. При попытке открытия в ACADe появляется окно "файл чертежа испорчен".

Если if переделать на то как Вы предложили :
If opdfAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then
' Create the name-value that specifies the ini file to use.
oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
End If
то то же создастся не рабочий .dwg файл.

Может Вы подскажете еще чего-нибудь?
Изменено: Anastasiya2017 - 02.11.2018 16:33:07
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)