C:\Папка\файл.dwg#,Лист5Хочу повторить для wpf Hyperlink, но ничего не получается :-\
Can't restore initial Paper space view 111 in Model Tab.Regenerating model.Не срабатывает и в AutoCAD 2016. Если вручную указать именованный вид, то переключение на его Layout происходит.
Вы проигнорировали мой вопрос относительно магнитофона.Этот:
А ключ /v как работает??
Короче - это баг (имхо).Нет. Это By Design. Так было всегда - еще тогда, когда в AutoCAD не было ни одного Layout вообще, а всё было Model, но виды уже тогда были.
Нет. Это By Design. Так было всегда - еще тогда, когда в AutoCAD не было ни одного Layout вообще, а всё было Model, но виды уже тогда были.От версии к версии Autodesk
/v - View nameНикаких "но", "если" и т.п. не обозначено. Я воспринимаю информацию именно так, как она написана. Текущее описание не соответствует реальному поведению (т.е. не каждый видовой экран будет корректно обработан).
Называть это можно как угодно, однако, если заявленный функционал не работает в соответствии со своим заявлением - то это баг. Смотрим описание ключа здесь:
1) Потребуется как минимум несколько сборок для поддержки различных версий AutoCAD, которые должны быть зарегистрированы в системе для автоматической загрузки в AutoCAD.Обычно я автоматически компилирую три сборки: под 2009, 2013 и 2015. Диапазон их применения: AutoCAD 2009-2016. Кроме того, создаю единую точку входа (http://bushman-andrey.blogspot.ru/2014/06/dll-autocad.html), которую и регистрирую в автозагрузку для каждой интересной мне версии AutoCAD.
В зависимости от версии потребуются различные методы загрузки.О каких "различных методах загрузки" речь и какое отношение это имеет к коду? Регистрация в реестре работает во всех версиях AutoCAD. Использовать не доведённый до ума механизм Bundle пакетов вместо регистрации в реестре можно по своему усмотрению. Текущее его состояние я не проверял, но мне достаточно того, что отсутствие внятной и корректной его спецификации преподносится компанией автодеск как "благо" для программистов (даже комментировать это не хочу) и то, что формат конфиг-файла может автодеском произвольно меняться как перчатки (уже спотыкался об это).
2) Метод Initialize() может быть вызван до того, как dwg-файл будет полностью загружен. Даже чтение информации из dwg-файла в этом методе является рискованным, а изменение её и подавно. Так что этот код следовало бы как-то модифицировать.В моих тестах этого не происходило. Если такая опасность существует то, конечно же, её следует обойти. ПредлОжите способ получения извещения о завершении инициализации документа? Что автодеск рекомендует по данному вопросу? :)
ПредлОжите способ получения извещения о завершении инициализации документа?Думаю что достаточно будет выполнить твой код из главного потока: http://adn-cis.org/ispolzovanie-potokov-dlya-fonovoj-obrabotki.html
Думаю что достаточно будет выполнить твой код из главного потока: http://adn-cis.org/ispolzovanie-potokov-dlya-fonovoj-obrabotki.htmlВ обозначенной по ссылке статье используется костыль из WinForm контрола, но возможно есть иной, более простой путь (предлагаемый вариант обозначен ниже)... Кроме того, перевод не корректен: задача и поток - это четыре совершенно разных человека.
Кроме того, перевод не корректен: задача и поток - это четыре совершенно разных человека.У слова "поток" в русском языке есть несколько значений. Правильнее было бы тогда переводить как "поток выполнения", но это слишком длинно. Классический же перевод для "thread" в контексте языков программирования, которому уже лет тридцать - "задача".
Применительно к запуску в основном потоке: ну так можно методы Initialize() и Terminate() просто пометить атрибутом STAThread и будут они вызываться в основном потоке (поправьте меня, если я не прав).Не прав. Если бы это было так просто, то достаточно было бы пометить все необходимые методы этим атрибутом и тогда AutoCAD сразу же стал бы многозадачным (точнее стал бы поддерживать многозадачное обращение к своим объектам, в том числе и Database). :)
Здесь тебе напомнили еще один вариант - использование события Application.Idle.Спасибо. Нужно будет в блоге себе шпаргалку нацарапать - не в первый раз уже забываю эту информацию (об Application.Idle).
если чертеж уже открыт до вызова метода Initialize(), то события Database.DwgFileOpened для уже открытого чертежа мы не дождёмся.Это я помню, поэтому данное событие не использую.
Классический же перевод для "thread" в контексте языков программирования, которому уже лет тридцать - "задача".Классика, говорите...