Создание Layout

Автор Тема: Создание Layout  (Прочитано 7299 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LemieuxАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 379
  • Карма: 21
Re: Создание Layout
« Ответ #15 : 02-04-2020, 09:44:02 »
В каком бы месте кода не вызывал "Editor.SwitchToPaperSpace" выдаёт - eInvalidInput.
Это проблема твоего кода.

А что в нём может быть не так?

Код - C# [Выбрать]
  1. using (Transaction tr = db.TransactionManager.StartTransaction())
  2. {
  3.     ObjectId layId = LayoutManager.Current.CreateLayout("Lemieux");
  4.     Layout lay = tr.GetObject(layId, OpenMode.ForWrite) as Layout;
  5.     lay.Initialize();
  6.     ed.SwitchToPaperSpace
  7.     ed.SwitchToModelSpace
  8.     tr.Commit();
  9. }

Но даже если вызывать переключение в другой транзакции, то всё равно выдаёт eInvalidInput.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание Layout
« Ответ #16 : 02-04-2020, 10:32:15 »
Lemieux,
Это вообще на каком языке написано???
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание Layout
« Ответ #17 : 02-04-2020, 10:41:32 »
Но даже если вызывать переключение в другой транзакции, то всё равно выдаёт eInvalidInput.
Переключение нужно проводить вне транзакции.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LemieuxАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 379
  • Карма: 21
Re: Создание Layout
« Ответ #18 : 02-04-2020, 11:54:53 »
Это вообще на каком языке написано???
А что не так?

Отмечено как Решение Lemieux 04-04-2020, 01:28:22

Оффлайн LemieuxАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 379
  • Карма: 21
Re: Создание Layout
« Ответ #19 : 02-04-2020, 14:16:57 »
Но если переключится на Layout1(Лист1), а потом переключится на созданный, то всё нормально отображается. Как я понимаю нужно как-то активировать PaperSpace, но я так и не понял как это сделать.
Editor.SwitchToPaperSpace
Editor.SwitchToModelSpace

В каком бы месте кода не вызывал "Editor.SwitchToPaperSpace" выдаёт - eInvalidInput.
Помогло с этой ошибкой - SetSystemVariable("TILEMODE", 0)/.TileMode = false, и транзакция никак не влияла. Но это не выход из ситуации так как уходит время на переключение пространств. Видимо в API нет такой возможности. Жаль конечно, но я много нового узнал.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание Layout
« Ответ #20 : 02-04-2020, 14:34:36 »
Это вообще на каком языке написано???
А что не так?
Перечитай тот код, который ты показал. Он у тебя вообще компилируется? Намёк: скобки, точки с запятой.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LemieuxАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 379
  • Карма: 21
Re: Создание Layout
« Ответ #21 : 02-04-2020, 15:16:13 »
Это вообще на каком языке написано???
А что не так?
Перечитай тот код, который ты показал. Он у тебя вообще компилируется? Намёк: скобки, точки с запятой.
Александр, ну Вы же понимаете, что это всё спешка и невнимательность и, что ничего не скомпилировалось, если бы я так вставил код в VS.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание Layout
« Ответ #22 : 02-04-2020, 17:25:10 »
Александр, ну Вы же понимаете, что это всё спешка и невнимательность и, что ничего не скомпилировалось, если бы я так вставил код в VS.
Я не буду уточнять в каком случае нужна спешка.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение