On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 11:32. Заголовок: Работает ли для Inventor позднее связывание?


Работает ли для Inventor позднее связывание?
У меня при вставке TitleBlock выдает ошибку.

Спасибо: 0 
Цитата Ответить
Ответов - 23 , стр: 1 2 All [только новые]





Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 11:52. Заголовок: Re: Работает ли для Inventor позднее связывание?


Обычный инвенторовский ТитлБлок?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 13:11. Заголовок: Re: Антикульманист


Вот именно.
При раннем связывании все работает.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 14:34. Заголовок: Re: Работает ли для Inventor позднее связывание?


Насколько помню, раннее связывание -это проверка во время компеляции перед выполнением программы, а позднее -это проверка по ходу выполнения.
А ТитлБлок определён как Object?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 14:56. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист:
цитата
А ТитлБлок определён как Object?

При позднем связывании, да.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 15:32. Заголовок: Re: Работает ли для Inventor позднее связывание?


Неплохо было бы проблемный фрагмент программы, вместе бы подумали.
А это обязательно объявляьть как Object? При этом даже подсказки не работают.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.05 16:50. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист:
цитата
А это обязательно объявляьть как Object? При этом даже подсказки не работают.

Ага, и константы должны быть заданы числами.

К сожалению, я сейчас не готов экспериментировать. Уже потратил на это много времени. Потому и спросил. А пример - из хелпа. Один в один. Создание и вставка TitleBlock.
При этом выскакивает сообщение, которое я перевожу как «неправильный вызов процедуры или неправильное задание аргументов».

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 13.05.05 10:53. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист:
цитата
Неплохо было бы проблемный фрагмент программы


Хелп лежит по адресу
C:\Program Files\Autodesk\Inventor 9\SDK\Docs\Help\admapi_9_0.chm

Раздел Samples¦Drawing¦Title Block Definition Create & Insert
Создание дефиниции при позднем связывании работает. Затыкается на строчке встаdки TitleBlock

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 13.05.05 13:41. Заголовок: Re: Работает ли для Inventor позднее связывание?


Вот он пример:
Public Sub InsertTitleBlockOnSheet()
’ Set a reference to the drawing document.
’ This assumes a drawing document is active.
Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument

’ Obtain a reference to the desired border defintion.
Dim oTitleBlockDef As Object
Set oTitleBlockDef = oDrawDoc.TitleBlockDefinitions.Item(1)

Dim oSheet As Sheet
Set oSheet = oDrawDoc.ActiveSheet

’ Check to see if the sheet already has a title block and delete it if it does.
If Not oSheet.TitleBlock Is Nothing Then
oSheet.TitleBlock.Delete
End If

’ Add an instance of the title block definition to the sheet.
Dim oTitleBlock As TitleBlock
Set oTitleBlock = oSheet.AddTitleBlock(oTitleBlockDef)
End Sub

Работает как часы.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 13.05.05 18:53. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист пишет:
цитата
Работает как часы

Все правильно. У меня такой код тоже работает.
Только в хелпе пример не совсем такой.
Требуется при вставке TitleBlock заполнять и значения текстовых полей, которые в параметрах функции AddTitleBlock должны присутствовать в виде массива строк.
Вот из-за этого массива что-то у меня и не получается.
При раннем связывании все работает.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 14.05.05 11:06. Заголовок: Re: Работает ли для Inventor позднее связывание?


Ну вот и пример, всё нормально пашет, самое главное чтобы были соответствующие Promt поля в титульном блоке

Public Sub InsertTitleBlockOnSheet1()
’ Set a reference to the drawing document.
’ This assumes a drawing document is active.
Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument

’ Obtain a reference to the desired border defintion.
Dim oTitleBlockDef As Object
Set oTitleBlockDef = oDrawDoc.TitleBlockDefinitions.Item(1)

Dim oSheet As Sheet
Set oSheet = oDrawDoc.ActiveSheet

’ Check to see if the sheet already has a title block and delete it if it does.
If Not oSheet.TitleBlock Is Nothing Then
oSheet.TitleBlock.Delete
End If

’ This title block definition contains one prompted string input. An array
’ must be input that contains the strings for the prompted strings.
Dim sPromptStrings(1 To 2) As String
sPromptStrings(1) = «String 1»
sPromptStrings(2) = «String 2»

’ Add an instance of the title block definition to the sheet.
Dim oTitleBlock As Object
Set oTitleBlock = oSheet.AddTitleBlock(oTitleBlockDef, , sPromptStrings)
End Sub

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 14.05.05 17:09. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист:
цитата
Dim oDrawDoc As DrawingDocument
Dim oSheet As Sheet


Если не устали, то для получения позднего связывания попробуйте указанные переменные продекларировать как объекты.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 14.05.05 17:11. Заголовок: Re: Работает ли для Inventor позднее связывание?


В общем, позднее связывание можно определить отключив в референсах библиотеку инвентора.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.05.05 11:00. Заголовок: Re: Работает ли для Inventor позднее связывание?


Отключение компиляции ни как не сказалось.
Да действительно если в сторе
Dim oSheet As Sheet
заменить на
Dim oSheet As Object
то выдаётся сообщение об ошибке, скорее всего это баг.... слишком не логичное поведение программы.
Остаётся только посоветовать осуществлять эту процедуру без позднего связывания.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.05.05 15:57. Заголовок: Re: Работает ли для Inventor позднее связывание?


Антикульманист пишет:
цитата
слишком не логичное поведение программы.

Согласен с Вами.
Спасибо за поддержку. А то я уж и не знал, что думать. Думал, что это только у меня.
К сожалению, одну процедуру без позднего связывания не удастся использовать: тут либо все, либо ничего.
Хотел свою программку сделать универсальной. Что б рамки вставляла и в MDT и в Inventor. И вместе и раздельно. Но пока, видимо, не судьба...

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.05.05 16:09. Заголовок: Re: Работает ли для Inventor позднее связывание?


Никогда не видел десктоповской объектной модели. А что они похожи с инвенторовской объектной моделью?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.05.05 17:46. Заголовок: Re: Работает ли для Inventor позднее связывание?


Совсем не похожи. Все разное.
К сожалению, у меня не работает подписка

Спасибо: 0 
Цитата Ответить
Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.05 16:43. Заголовок: Re:


Антикульманист пишет:
цитата
Никогда не видел десктоповской объектной модели. А что они похожи с инвенторовской объектной моделью?


эта модель прямо в хелпе десктопа есть!

Антикульманист пишет:
цитата
Dim oSheet As Sheet
заменить на
Dim oSheet As Object


Инвентор у вас объявлен, а oSheet чей? Винда же не знает, может вы к листу экселя ломитесь?
Dim oApp As Object' Inventor.Application
Dim oS As oApp.Sheet
set oApp = GetObject(.........)

в Бэйсике есть классная штука - Object Browser называется - уж очень много в ней интересного...


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 18.05.05 04:13. Заголовок: Re:


Тютюнников пишет:
цитата
Винда же не знает, может вы к листу экселя ломитесь?


Но она потом позже об этом узнаёт, что это не эксель
Dim oSheet As Object
Set oSheet = oDrawDoc.ActiveSheet
а всё равно не пашет

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 01.06.05 13:02. Заголовок: Re:


А если надо именно к листу Excel ломиться? Как заставить записывать и читать данные в(из) конкретные ячейки файла Excel?

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 02.06.05 06:36. Заголовок: Re:


Вот пример макроса для работы с Экселем. Осуществлено через раннее связывание.

Sub ExcelForever()
' Пример раннего связывания с Excel
' Объявление нового класса
Dim oExcel As New Excel.Application
'
oExcel.Visible = True
'Создание новой книги
Dim oBook As Workbook
Set oBook = oExcel.Workbooks.Add
'Ссылка на первый лист книги
Dim oSheet As WorkSheet
Set oSheet = oBook.Sheets(1)
'Заполнение ячеек
oSheet.Cells(1, 1) = 10
oSheet.Cells(1, 2) = "Hello"
'Сохранение книги
oBook.SaveAs ("c:\first.xls")
'Выход
oExcel.Quit
Set oExcel = Nothing
End Sub

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 07.06.05 09:18. Заголовок: Re:


Антикульманист

Спасибо, код заработал, правда только после объявления книги и листа как объектов.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 15.06.05 18:32. Заголовок: Re:


Ты сам эксель в ссылках подключил?

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Рейтинг: 0
ссылка на сообщение  Отправлено: 15.06.05 18:42. Заголовок: Re:


теперь уже да :)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 23 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет