Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Панорамирование нескольких видовых экранов одновременно

Панорамирование нескольких видовых экранов одновременно

Ответ
Поиск в этой теме
Непрочитано 11.12.2017, 05:38
Панорамирование нескольких видовых экранов одновременно
xag
 
Регистрация: 16.11.2007
Сообщений: 118

Уважаемые форумчане. Помогите пожалуйста с решением такой задачи.
AutoCAD 2017 рус
Очень много приходится рисовать однотипные фундаменты.
1) Вот нарисовал один фундамент Фм1, оформил на листе видовыми экранами. Получилось около 10 видовых экранов.
2) Теперь копирую в модели Фм1 на свободный участок вправо. Получаю фундамент Фм2. Копирую вкладку лист с Фм1. Получаю лист с 10 видовыми экранами.
3) Теперь чтобы настроить на новом листе видовые экраны под Фм2 приходится:
- разблокировать 10 видовых экранов
- зайти в видовой экран.
- применить команду "_-pan Базовая точка или смещение: "
- указываю базовую точку, курсором мыши указываю направление, и в командной строке набираю; Вторую точку: 50000 (например). Происходит смещение пространства модели в видовом экране на фундамент Фм2.
- и таких операций требуется проделать еще для 9 видовых экранов.
- заблокировать 10 видовых экранов.
У меня выполнение этих операций иногда занимает до 1часу времени на 1 фундамент.

Можно ли на лиспе решить такую задачу?
1) выбрать видовые экраны
2) разблокировка ВЭ
3) задать направление и на какое расстояние требуется выполнить панорамирование. (хотя можно просто по Х)
4) панорамирование на требуемое расстояние
5) блокировка ВЭ
__________________
С уважением, xag!
Просмотров: 8826
 
Непрочитано 14.09.2019, 21:10
#21
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Разминки ради накидал набросок реализации: https://youtu.be/3Tkd-XAdJ5o

ЗЫ.
Тема создана в разделе Лисп, так что решение публиковать не буду, но для тех, кто захочет повторить, все решение свелось к своеобразной реализации класса DrawJig , свойство с которым нужно работать - ViewCenter. Вся реализация - сотня строк на C#. Удачи.
Boxa вне форума  
 
Непрочитано 14.09.2019, 22:10
#22
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Цитата:
Сообщение от Boxa Посмотреть сообщение
Разминки ради накидал набросок реализации: https://youtu.be/3Tkd-XAdJ5o
Воха! Это то что нужно


Цитата:
Сообщение от Boxa Посмотреть сообщение
Вся реализация - сотня строк
Да я и говорил, что для программера задача яйца выеденного не стоит.

А мне тут внушали: "это архисложно. Это невозможно"
Никому верить нельзя
Кондратий Тихонович вне форума  
 
Непрочитано 14.09.2019, 22:36
#23
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Offtop:
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Никому верить нельзя
Все говорят "Никому верить нельзя", а ты купи слона.

Завтра вы присмотритесь и скажите - Не, мне другое надо, потому что оба видовых экрана показывают один и тот же участок модели.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 14.09.2019, 22:36
#24
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Offtop:
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Да я и говорил, что для программера задача яйца выеденного не стоит.
только за кажущейся "легкостью" решений обычно стоит какое-то определенное количество часов, потраченных на приобретение опыта путем изучения документации и набивания шишек. Чем раньше начнете этот путь (программирование под акад) - тем раньше получите какие то результаты. Аутодеск не делает тайны из документации, да и по форумам можно найти примеры реализации функций для самообучения.

"Дорогу осилит идущий"(с)
Сергей812 вне форума  
 
Непрочитано 15.09.2019, 08:40
#25
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Да я и говорил, что для программера задача яйца выеденного не стоит.
Поиски удобного решения и эксперименты заняли приблизительно 3 часа, может чуть больше. Дорогие вы яйца едите Кондратий Тихонович.

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А мне тут внушали: "это архисложно. Это невозможно"
Вы на балет никогда не ходили? Там так красиво, легко и просто балерины порхают над сценой...

Простота и сотня строк, это итоговый, вычищенный результат наброска. Вам ли как программисту не понимать, что разница между наброском и промышленным решением огромна.
Однако, тропинка протоптана, как это сделать рассказано и результат показан, дело за Вами.

Последний раз редактировалось Boxa, 15.09.2019 в 08:47.
Boxa вне форума  
 
Непрочитано 15.09.2019, 20:31
#26
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Цитата:
Сообщение от maratovich Посмотреть сообщение
Завтра вы присмотритесь и скажите - Не, мне другое надо, потому что оба видовых экрана показывают один и тот же участок модели.
Кстати. Да.
Это не айс

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
только за кажущейся "легкостью" решений обычно стоит какое-то определенное количество часов, потраченных на приобретение опыта путем изучения документации и набивания шишек.
Я об этом и говорил выше. Чтот опытному программеру, образно говоря, - это полчаса работы, а мне потребуется полгода-год "набивания шишек".

Такое объяснение я приводил, когда меня спрашивали "ачо ты сам не хочешь написать скрипт на лиспе, который будет делать то, что ты хочешь?"
Кондратий Тихонович вне форума  
 
Непрочитано 15.09.2019, 20:36
#27
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Offtop: кондратий, задача решаема, что ты уже увидел. Вперед, за парту!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.09.2019, 20:36
#28
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Цитата:
Сообщение от Boxa Посмотреть сообщение
Поиски удобного решения и эксперименты заняли приблизительно 3 часа, может чуть больше. Дорогие вы яйца едите Кондратий Тихонович.
Тю... 3 часа?
У меня бы это ГОД заняло бы.
Уловили разницу?

----- добавлено через 46 сек. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
кондратий, задача решаема
Код решения в студию.
Пока кода нет - задача не решена

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
дело за Вами.
Аято здесь при чём?
Я же не кодер.
Я электронищик
Кондратий Тихонович вне форума  
 
Непрочитано 15.09.2019, 20:43
#29
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Код решения в студию.
1. Вопрос не по адресу
2. $100k - и вперед
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Тю... 3 часа?
У меня бы это ГОД заняло бы.
Уловили разницу?
Не можешь сам - плати другим. Ну или хотя бы показывай, что учишься и что-то не получается. В любом другом случае "нафиг - это налево".
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Я же не кодер.
Я электронищик
Т.е. 30 лет на ассемблере - эт так, для красного словца?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.09.2019, 08:28
#30
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Кстати. Да.
Это не айс
Т.е. Вас не смутило, что эти видовые экраны и до начала команды показывали одно и тоже место? И с какого рожна они при синхронном панорамирование должны показывать разные места? Или под синхронном панорамированием Вы понимате что то особенное?

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Чтот опытному программеру, образно говоря, - это полчаса работы, а мне потребуется полгода-год "набивания шишек".
Вот именно по этому работа специалиста стоит дорого, не важно прогер, сварщик или фрезеровщик.

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Код решения в студию.
Пока кода нет - задача не решена
Вы слова "решаема" от "решения" отличаете?
А по поводу кода в студию и не решена, то:
1. Вы не на поле чудес.
2. Почему Вам кто-то ДОЛЖЕН публиковать код/решение? Тем более код C# находясь в ветке про ЛИСП?

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Аято здесь при чём?
Я же не кодер.
Я электронищик
А я вообще конструктор ПГС и что?

Образно говоря, Вам дорожку из желтого кирпича показали, вот и топайте, там в конце, будет решение.

Последний раз редактировалось Boxa, 16.09.2019 в 08:40.
Boxa вне форума  
 
Непрочитано 16.09.2019, 08:38
#31
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
А мне тут внушали: "это архисложно. Это невозможно"
на Lisp'е может и невозможно
trir вне форума  
 
Непрочитано 16.09.2019, 08:56
#32
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Offtop: Сколько народу повелось на этого троля.... а сколько ещё поведётся
baksconstructor вне форума  
 
Непрочитано 16.09.2019, 10:32
#33
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Offtop:
Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Сколько народу повелось на этого троля.... а сколько ещё поведётся
будто в жизни не видели таких людей: которые месяцами могут сидеть и ныть - вместо того, чтобы решить проблему - личными стараниями или наймом исполнителей. Будто он первый - кто приходит и выдает хотелки, а потом садится в ожидании большой сладкой халявы. Просто до большинства доходит раньше тщетность надежд)
Сергей812 вне форума  
 
Непрочитано 16.09.2019, 13:18
#34
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Цитата:
Сообщение от xag Посмотреть сообщение
Можно ли на лиспе решить такую задачу?
1) выбрать видовые экраны
2) разблокировка ВЭ
3) задать направление и на какое расстояние требуется выполнить панорамирование. (хотя можно просто по Х)
4) панорамирование на требуемое расстояние
5) блокировка ВЭ
Попробуй так:
Код:
[Выделить все]
 (defun Kr_drag_vp (/ adoc ss pt1 pt2 NumberVP lst)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (if (= (Getvar "TILEMODE") 0)
    (progn
      (princ "\nВыбери видовые экраны: ")
     (if (/= (Getvar "CVPORT") 1) (command "_.PSPACE"))
	  (if (setq ss (ssget '((0 . "VIEWPORT"))))
	    (if (setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
	    (progn
	      (setvar "TILEMODE" 1)
	    	(if (setq pt1 (getpoint "\nУкажи первую точку вектора: "))
		  (if (setq pt2 (getpoint "\nУкажи вторую точку вектора: " pt1))
		    (progn
		      (setvar "TILEMODE" 0)
		      (if (equal (getvar "cvport") 1) (command "_.MSPACE"))
		      (foreach ent lst
			(setq NumberVP (cdr (assoc 69 (entget ent))))
			(setvar "CVPORT" NumberVP)
			(if (eq (setq lock (vla-get-DisplayLocked (setq vla (vlax-ename->vla-object ent)))) :vlax-true)
  				(vla-put-DisplayLocked vla :vlax-false))
			(command "_.-pan" "_none" (polar (getvar "VIEWCTR") (angle pt1 pt2) (distance pt1 pt2)) "_none" (getvar "VIEWCTR"))
			(if (eq lock :vlax-true) (vla-put-DisplayLocked vla :vlax-true))
			(setq lock nil)
			);foreach
		      );rogn
		    );if
		  );if
	      );progn
	      );if
	  );if
     (if (/= (Getvar "CVPORT") 1) (command "_.PSPACE"))
     );progn
    (princ "\nПерейди в лист")
    );if
  (princ)
  )
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 20.09.2019, 19:10
#35
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Чота не работает как надо
Кондратий Тихонович вне форума  
 
Непрочитано 20.09.2019, 19:46
#36
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Чота не работает как надо
Кому "надо"? Для справки - ответ был на стартовый пост.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.09.2019, 00:21
#37
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Вот вопрос топикстартера:
Цитата:
Сообщение от xag Посмотреть сообщение
Можно ли на лиспе решить такую задачу?
1) выбрать видовые экраны
2) разблокировка ВЭ
3) задать направление и на какое расстояние требуется выполнить панорамирование. (хотя можно просто по Х)
4) панорамирование на требуемое расстояние
5) блокировка ВЭ

Я спрашивал об этом же.
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Чота не работает как надо
Судя по коду, он делает именно то, что написано в ТЗ и в цитате. Вот прям буква в букву делает.
Но спустя 2 страницы выяснилось, что Вам так не надо... т.е. Вы сами не знаете как Вам надо.
Забавно.
Boxa вне форума  
 
Непрочитано 21.09.2019, 15:40
#38
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Для справки - ответ был на стартовый пост.
Там мне и надо то, что написано в стартовом посте:

Цитата:
Сообщение от Boxa Посмотреть сообщение
1) выбрать видовые экраны
2) разблокировка ВЭ
3) задать направление и на какое расстояние требуется выполнить панорамирование. (хотя можно просто по Х)
4) панорамирование на требуемое расстояние
5) блокировка ВЭ
----- добавлено через 44 сек. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
Судя по коду, он делает именно то, что написано в ТЗ и в цитате. Вот прям буква в букву делает.
Но спустя 2 страницы выяснилось, что Вам так не надо
Вы врёте.

Мне надо В ТОЧНОСТИ как написано
Кондратий Тихонович вне форума  
 
Непрочитано 21.09.2019, 17:49
#39
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


1) выбрать видовые экраны - строка 7
2) разблокировка ВЭ - строка 19
3) задать направление и на какое расстояние требуется выполнить панорамирование. (хотя можно просто по Х) - строчки 11 и 12
4) панорамирование на требуемое расстояние - строка 21
5) блокировка ВЭ - строка 22

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Вы врёте.
Мне надо В ТОЧНОСТИ как написано
ОК, как скажите, Вам виднее, у Вас все таки 30 лет кодерства за плечами.
Что я тут со свиным рылом в калашный ряд...
Boxa вне форума  
 
Непрочитано 21.09.2019, 18:19
#40
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Boxa Посмотреть сообщение
Вас все таки 30 лет кодерства за плечами
У него 30 лет троллинга Он профессионал 80vl в этом деле.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Панорамирование нескольких видовых экранов одновременно

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Создание листов и видовых экранов на них Andrey_13 Готовые программы 415 23.02.2024 18:25
Можно ли изменить размеры видовых экранов [модели]? engngr AutoCAD 3 06.04.2020 07:56
AutoCAD 2014 неактивна панель видовых экранов в листе KSPigin AutoCAD 2 08.10.2014 16:17
Как содержимое видовых экранов в ноль на XY скопировать ? taimael AutoCAD 1 15.05.2013 12:04
Содержимое видовых экранов (в ПЛ) плавает при кручении колеса мыши JokerrSergh AutoCAD 29 29.12.2008 13:16