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

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

LISP. Компоновка видовых экранов на лист.

Ответ
Поиск в этой теме
Непрочитано 25.08.2011, 11:22 3 | #1
LISP. Компоновка видовых экранов на лист.
YRat
 
Support - ACD, ASD, ACA, ACM, RAC, RST
 
Stuttgart-Петербург
Регистрация: 19.10.2004
Сообщений: 238

Смысл и применение

Идем в пространство листа, жмем кнопку или вводим с клавиатуры AF
Программа прыгвет в модель, вы задаете область модели, которую хотите разместить в видовом экране, масштаб и.. и расополагаете разещенный уже на вашем курсоре видовой экран.

Код:
[Выделить все]
;Ansichtsfenster erzeugen.
;(c)2011 iLkraret (ilkraret@gmail.com)

(defun c:af ( / )
	(setvar "cmdecho" 0) ; Turn off command line echoing
	(setq layoutname (getvar "ctab")); Store current tab name

	(if (/= layoutname "Model") ; Must be started from a layout tab to establish destination, quit quietly if on Model tab
		(progn
			(setvar "tilemode" 1) 
			(setq modellunitsmulti 1)
			
			(setq p1 (getpoint "\nУкажите одну из вершин области: "))  
			(setq p2 (getcorner p1 "\nУкажите противоположную вершину области: "))

			(setq units (getvar "insunits")); Store current insunits

			(if (equal units 1) (setq modellunitsmulti 25.4))
			(if (equal units 2) (setq modellunitsmulti 304.8))
			(if (equal units 3) (setq modellunitsmulti 1609344))
			(if (equal units 5) (setq modellunitsmulti 10))
			(if (equal units 6) (setq modellunitsmulti 1000))
			(if (equal units 7) (setq modellunitsmulti 1000000))
			(if (equal units 8) (setq modellunitsmulti 25400000))
			(if (equal units 9) (setq modellunitsmulti 25400))
			(if (equal units 10) (setq modellunitsmulti 914.4))
			(if (equal units 11) (setq modellunitsmulti 0.0000001))
			(if (equal units 12) (setq modellunitsmulti 0.000001))
			(if (equal units 13) (setq modellunitsmulti 0.001))
			(if (equal units 14) (setq modellunitsmulti 100))
			(if (equal units 15) (setq modellunitsmulti 10000))
			(if (equal units 16) (setq modellunitsmulti 100000))
			(if (equal units 17) (setq modellunitsmulti 10000000000000))
			(if (equal units 18) (setq modellunitsmulti 149597806297768))
			(if (equal units 19) (setq modellunitsmulti 9460469428493040000))
			(if (equal units 20) (setq modellunitsmulti 30856959478640800000))

			(setq mass (getreal  "\nMasstab - 1:"))
			(setq vpxd (* (/ (abs (- (car p1) (car p2))) mass) modellunitsmulti)) ; Determine horizontal length of selected window
			(setq vpyd (* (/ (abs (- (cadr p1) (cadr p2))) mass) modellunitsmulti)) ; Determine vertical height of selected window
			(setq vpc (list (/ (+ (car p1) (car p2)) 2.0) (/ (+ (cadr p1) (cadr p2)) 2.0) 0.0)) ; Determine center point of selected model window
			(setvar "ctab" layoutname)
			(command "_mview" "0,0" (strcat "@" (rtos vpxd) "," (rtos vpyd))) ; Create Paper Space viewport
			(setq ssvp (ssget "_L")) ; Start selection set with last viewport frame
			(command "_mspace") ; Open viewport window to Model Space
			(command "_zoom" "_C" vpc (rtos vpyd)) ; Center view of viewport window using determined point
			(command "_zoom" "_SCALE" (strcat (rtos (/ modellunitsmulti mass)) "xp")) ; Set zoom scale of viewport window
			(command "_vports" "_LOCK" "_ON" ssvp "") ; Lock scale and position of model in viewport
			(command "_pspace") ; Close viewport window
 
			(command "._move" ssvp "" "0,0" pause )
		)
		(princ "\nThis command must be started from a layout sheet!") ; Need to start on a layout tab so program knows where to create the new viewports
	) 
(setvar "cmdecho" 1) ; Turn on command line echoing
)
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)

Последний раз редактировалось YRat, 08.11.2011 в 23:12.
Просмотров: 29395
 
Непрочитано 25.08.2011, 11:36
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,799
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от YRat Посмотреть сообщение
(if (/= layoutname "Model") ; Must be started from a layout tab to establish destination, quit quietly if on Model tab
(progn
(setvar "ctab" "Modell")
Нет такого листа
Я бы на твоем месте лист/модель проверял по переменной Tilemode 1-модель 0-лист. Изменение значений так же приводит к смене простанства.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.08.2011, 11:38
#3
Кулик Алексей aka kpblc
Moderator

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


Одного tilemode мало, надо еще и ctab проверять.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.08.2011, 11:46
#4
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


Кулик Алексей aka kpblc, угу, тогда смысла нет проверять тайлмод)
VVA, спасибо за замечание насчет модели)) - у меня лист так и называется MODELL - язык немецкий, счас поменяю для русского.
Жаль нельзя просто по индексу обратиться, как в экселе.
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 16.09.2011, 14:05
#5
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,182
<phrase 1=


YRat, наверно резиновая рамка будет удобней:
вместо
(setq p2 (getpoint "\nУкажите противоположную вершину области: "))
Заменить на
(setq p2 (getcorner p1"\nУкажите противоположную вершину области: "))
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Автор темы   Непрочитано 16.09.2011, 14:53
#6
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
YRat, наверно резиновая рамка будет удобней:
вместо
(setq p2 (getpoint "\nУкажите противоположную вершину области: "))
Заменить на
(setq p2 (getcorner p1"\nУкажите противоположную вершину области: "))
Спасибо, я искал, но не нашел как это сделать)
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 22.09.2011, 14:23
#7
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 132


Что-то через раз работает. Иногда вываливает вообще другой кусок модели и не в указанном масштабе
angel-fear вне форума  
 
Автор темы   Непрочитано 22.09.2011, 19:03
#8
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


Цитата:
Сообщение от angel-fear Посмотреть сообщение
Что-то через раз работает. Иногда вываливает вообще другой кусок модели и не в указанном масштабе
Поправил, там ; было пропущено. И немного доработал.
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 22.09.2011, 22:07
#9
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 132


масштаб вроде бы подправился, а вот фрагмент модели по-прежнему периодически выбирается не тот
angel-fear вне форума  
 
Автор темы   Непрочитано 08.11.2011, 17:18
#10
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


angel-fear, пример в студию
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 08.11.2011, 18:02
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


вот это
Цитата:
Сообщение от YRat Посмотреть сообщение
(setq units (getvar "insunits")); Store current insunits

(if (equal units 1) (setq modellunitsmulti 25.4))
(if (equal units 2) (setq modellunitsmulti 304.8))
(if (equal units 3) (setq modellunitsmulti 1609344))
(if (equal units 5) (setq modellunitsmulti 10))
(if (equal units 6) (setq modellunitsmulti 1000))
(if (equal units 7) (setq modellunitsmulti 1000000))
(if (equal units 8) (setq modellunitsmulti 25400000))
(if (equal units 9) (setq modellunitsmulti 25400))
(if (equal units 10) (setq modellunitsmulti 914.4))
(if (equal units 11) (setq modellunitsmulti 0.0000001))
(if (equal units 12) (setq modellunitsmulti 0.000001))
(if (equal units 13) (setq modellunitsmulti 0.001))
(if (equal units 14) (setq modellunitsmulti 100))
(if (equal units 15) (setq modellunitsmulti 10000))
(if (equal units 16) (setq modellunitsmulti 100000))
(if (equal units 17) (setq modellunitsmulti 10000000000000))
(if (equal units 18) (setq modellunitsmulti 149597806297768))
(if (equal units 19) (setq modellunitsmulti 9460469428493040000))
(if (equal units 20) (setq modellunitsmulti 30856959478640800000))
убожество можно заменить на
Код:
[Выделить все]
 (setq
  modellunitsmulti
  (nth
	(getvar "insunits")
	'(1
	  25.4
	  304.8
	  1609344
	  10
	  1000
	  1000000
	  25400000
	  25400
	  914.4
	  0.0000001
	  0.000001
	  0.001
	  100
	  10000
	  100000
	  10000000000000
	  149597806297768
	  9460469428493040000
	  30856959478640800000
	)
  )
)
экономия 300 %
gomer вне форума  
 
Автор темы   Непрочитано 08.11.2011, 19:59
#12
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


gomer, спасибо конечно за предложение, учту) Ваше убожество в моём убожестве)))
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 08.11.2011, 20:59
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Идем в пространство листа, жмем кнопку или вводим с клавиатуры AF
Программа прыгвет в модель, вы задаете область модели, которую хотите разместить в видовом экране, масштаб и.. и расополагаете разещенный уже на вашем курсоре видовой экран.
автор топика, открой для себя именованные виды и не изобретай велосипед! Они, помимо прочего назначения, используются для того, чтобы на их основе создавать видовые экраны на листах, а не только для быстрого переключения между различными видами.

Offtop: п.с. ужас, а ведь ещё и обсуждают это велосипедостроение... варианты кода предлагают.... VVA, Кулик Алексей aka kpblc, gomer - ну вы то как в это втянулись?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 08.11.2011 в 21:06.
hwd вне форума  
 
Непрочитано 08.11.2011, 21:34
#14
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от YRat Посмотреть сообщение
учту) Ваше убожество
Еще не мешало бы обнулить cmdecho, чтоб убрать мусор из ком. строки...
К тому же мы не столь педантичны, как немцы, а обработчик прерываний в программе отсутствует
gomer вне форума  
 
Автор темы   Непрочитано 08.11.2011, 23:03
#15
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


hwd, ну, раз Вы зело умный, расскажите пожалуйста, как правильно употреблять видовые экраны и компоновать чертежи. Я с удовольствием поучусь и буду делать так, как Вы скажете, ежели это действительно окажется дельным.

gomer, не закидывайте меня умными словами, есть предложения - помогите реализовать. Кто э против, станет лучше - прекрасно!
Кстати, "Еще не мешало бы обнулить cmdecho, чтоб убрать мусор из ком. строки..." - это я понял, спасибо, исправил)

Насчет ловли ошибок, я правда не знаю..

Еще, что такое "nth", рассказывайте чтоли.. нечто наподобие старого case я так понимаю?
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)

Последний раз редактировалось YRat, 08.11.2011 в 23:14.
YRat вне форума  
 
Непрочитано 09.11.2011, 00:04
#16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от YRat Посмотреть сообщение
Еще, что такое "nth", рассказывайте чтоли..
буквально "н-ный" (с аглицкого, вероятно) элемент списка, нумерация которого начинается с нуля. функция выбирает элемент из с писка по порядковому номеру... Чтобы понять "мое" убожество, достаточно представить диапазон значений переменной "insunits" в виде списка

Цитата:
Сообщение от YRat Посмотреть сообщение
я понял, спасибо, исправил)
Ничего вы не поняли cmdecho нужно обнулить непосредственно перед использованием функции command а после ее использования сразу же вернуть обратно, иначе вы не сможете проверить правильность ввода данных в командной строке
примерно так,
Код:
[Выделить все]
 (setvar "ctab" layoutname)
(setvar "cmdecho" 0)
(command "_mview" ...
... (command "._move" ssvp "" "0,0" pause )
(setvar "cmdecho" 1)...
а при более детальном рассмотрении (setvar "cmdecho" 1) вообще может оказаться в теле функции command
насчет обработчика, это
Код:
[Выделить все]
 (if (and (setq p1 (getpoint "\nУкажите одну из вершин области: "))  
		      (setq p2 (getcorner p1 "\nУкажите противоположную вершину области: "))
                             (setq mass (getreal  "\nMasstab - 1:")))(progn ;| далее наши махинации|;))
самый простой вариант... дальше больше: для учета прерывания по Esc нужно определить локально функцию *error* ... Подходов тут два и примеров тьма если пользователь нажал Ctrl+Z, то нужно отменять все наши команды, для этого нужно установить метки отмены... тут тоже подходов два, примеров найти можно
hwd, мелкие проекты я печатаю тупо макромувом и купринтом - это однозначно быстрее, чем переназначать область печати или открывать 6-10 листов один за другим... подшивкой не пользуюсь, ибо нету... к сожалению... да и часто густо приходится перекомпоновывать чертежи, так что хоть именованные, хоть неименованные виды тут для одного места...
gomer вне форума  
 
Автор темы   Непрочитано 09.11.2011, 00:28
#17
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


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


Цитата:
Сообщение от gomer Посмотреть сообщение
Ничего вы не поняли cmdecho нужно обнулить непосредственно перед использованием функции command а после ее использования сразу же вернуть обратно, иначе вы не сможете проверить правильность ввода данных в командной строке
примерно так,
Вы неправы, все прекрасно работает.


Цитата:
Сообщение от gomer Посмотреть сообщение
насчет обработчика, это
И снова спасибо.

Я не знаю, зачем надо нажимать нечто, что не предусмотрено программой, но постараюсь сделать) Как в анекдоте про японскую пилу и русских мужиков..

Цитата:
Сообщение от gomer Посмотреть сообщение
hwd, мелкие проекты я печатаю тупо макромувом и купринтом - это однозначно быстрее, чем переназначать область печати или открывать 6-10 листов один за другим... подшивкой не пользуюсь, ибо нету... к сожалению... да и часто густо приходится перекомпоновывать чертежи, так что хоть именованные, хоть неименованные виды тут для одного места...
А главное, если мне нужно 10-20 деталей на лист посадить, мне нужно 20 раз полный размер до нужных занмеров уменьшать?
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 09.11.2011, 01:28
#18
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от YRat Посмотреть сообщение
Вы неправы, все прекрасно работает.
Э, ну погорячился, время позднее... не проверял... а думал о другом... Если вы нажали esc или enter в ответ на запрос точек или масштаба, то точек и масштаба у вас нет - они равны nil и программа вылетит с ошибкой... с другой стороны cmdecho вы уже обнулили и в единицу оно уже не вернется, так как программа прервана... это важно потому, что есть более скверные переменные, например osmode, которые в обязательном порядке нужно возвращать в исходное состояние, дабы не мучить пользователя. К тому же если ничего не задано и никаких действий не предвидется, то нет смысла обнулять переменную, это два потенциально холостых действия... вот поэтому и стоит перенести (setvar "cmdecho" 0) в ветку условного выбора if. Самый тяжелый случай, когда вычисления тоже могут выдать ошибку... ситуация аналогичная... следовательно спускаем еще ниже нашу переменную и получаем #16. Из всего этого делаем вывод.. программа делится (грубо) на три части:
1. ввод данных пользователем
2. расчеты
3. построения или другие действия

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

Последний раз редактировалось gomer, 09.11.2011 в 01:42.
gomer вне форума  
 
Непрочитано 09.11.2011, 08:40
1 | #19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от YRat Посмотреть сообщение
hwd, ну, раз Вы зело умный, расскажите пожалуйста, как правильно употреблять видовые экраны и компоновать чертежи. Я с удовольствием поучусь и буду делать так, как Вы скажете, ежели это действительно окажется дельным.
Набираем команду _view, в открывшемся диалоговом окошке "View Manager" давим пальчиком кнопку "New..." - откроется очередной ларец в виде окошка "New View / Short Properties". В нём кликаем по кнопке Help и о чудо: откроется "зело"(с) полезый свиток, именуемый среди непосвящённых не иначе как "справочная система". Причём откроется сразу на нужной страничке - т.е. искать ничего не придётся (вообще сказка)... Не разобраться в том, что там написано - это ещё и постараться нужно... "Поучитесь с удовольствием"(с), почитав указанную мною "тайну великую". Надеюсь, что Вы сочтёте "действительно дельным"(с) родной инструмент от Autodesk, решающий ту задачу, на решение которой Вы потратили столько времени. Кроме того, у "родного" инструмента есть то, чего нет в вашем решении - он позволяет сохранять виды под указанными Вами именами, тем самым давая возможность их многократного использования.

Хотя, конечно же, можно и со своим велосипедом остаться, допиливая его до кондиции - что же, зря Вы столько времени потратили? Хотя окромя себя в этом винить, по совести, и некого...

п.с. Это не я злой, это нужно прежде чем садиться писать код, убедиться, что в ПО действительно отсутствует искомый функционал. А то ведь это заразно - юзеры подхватят и начнут себе устанавливать, не подозревая, что всё это уже и так имеется (причём в более лучшем исполнении). Вот такие пряники...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 09.11.2011 в 08:46.
hwd вне форума  
 
Автор темы   Непрочитано 09.11.2011, 11:48
#20
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


hwd, спасибо, вероятно, так и было задумано Автодеском, но
1. это долго
2. хотя и приносит свои позитивные фичи, мне они не нужны.. нет двух одинаковых окон, которые я располагаю на листах
3. Сидеть и выдумывать названия, в которых сам потом запутаешься, когда на лист захочешь расположить.

Пример: подпорная стенка с анкеровкой, 12 листов с детялями и обзорами. Я не считал, но примерно могу сказать, то там порядка 50-60 видов надо создавать. Я с ума сойду работая так)

Посему клиент спросил, а нет ли возможности из листа нажать кнопочку и быстренько сделать участок модели в моем масштабе...

Так что большое спасибо, и правду полезный свиток, но он не подхлжит под поставленные задачи.

gomer, согласный я, буду думать)
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 09.11.2011, 11:59
#21
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,843


Я вероятно очень консервативный, но чем удобней Ваша программа - нежели обычный _-vports - Вы же все равно на листе видовой экран компонуете, какой смысл выбирать вначале что Вам надо в модели, ставить масштаб и пр - Вы же заранее не можете знать влезет или нет (на лист) - ИХМО вначале (как и сделанно в автокаде) логичнее задать размеры (расположение) видового экрана - а потом уж масштабируй как хочешь, хоть рамкой, хоть по объектам, хоть по точному значению.
з.ы. То что код написан убого не очень - это не страшно, все так начинают (посмотрите ранние коды любого нынешнего "спеца"), просто мне не очень понятно назначение программы.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 09.11.2011 в 12:05.
Дима_ вне форума  
 
Непрочитано 09.11.2011, 12:04
#22
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


2 Дима_
+1
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 09.11.2011, 12:15
#23
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


Дима_, подход у нас разный) Я знаю, что мои узлы все должны быть 1:25 - мне не надо масштабировать, мне нужно участок модели в масштабе 1:25 на лист) И так 50 раз.

Хотите пользовать стандартный путь, пожалуйста, мне жалко времени на каждый ВЭ масштабировать, подрезать, отдельно позицию задавать

hwd, ишь, плюсомёт тут завелся)))
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)

Последний раз редактировалось YRat, 09.11.2011 в 12:21.
YRat вне форума  
 
Непрочитано 09.11.2011, 12:49
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от YRat Посмотреть сообщение
1. это долго
не так уж и долго.
Цитата:
Сообщение от YRat Посмотреть сообщение
2. хотя и приносит свои позитивные фичи, мне они не нужны.. нет двух одинаковых окон, которые я располагаю на листах
позитивных фич ты не понял. На основе именованных видов формируются видовые экраны в листах обычным драг-дропом (перетаскиванием мышью) этих именованных видов на лист. Т.о. можно за несколько секунд собрать любой лист. Если что-то не понравится - можно всё заново быстро пересобрать за пару секунд, а в твоём случае придётся повторно указывать границы видов. Сразу видно, что с подшивками ты не работал...
Цитата:
Сообщение от YRat Посмотреть сообщение
3. Сидеть и выдумывать названия, в которых сам потом запутаешься, когда на лист захочешь расположить.
А не нужно выдумывать названия от балды. Названия должны однозначно определять то, что они отображают. Дать грамотное имя - это не проблема и оно (понятное наименование) себя в процессе работы не раз "окупит".
Цитата:
Сообщение от YRat Посмотреть сообщение
Пример: подпорная стенка с анкеровкой, 12 листов с детялями и обзорами. Я не считал, но примерно могу сказать, то там порядка 50-60 видов надо создавать. Я с ума сойду работая так)
Ты скорее с ума сойдёшь работая именно так, как ты работаешь.
Цитата:
Сообщение от YRat Посмотреть сообщение
Посему клиент спросил, а нет ли возможности из листа нажать кнопочку и быстренько сделать участок модели в моем масштабе...
Клиенту нужно показать то, что я показал тебе выше, касательно создания именованных видов. А ещё нужно показать как правильно ими пользоваться, т.к. я на 100% уверен, что ты этого так и не понял, иначе бы не говорил, что инструмент не удобен.

Цитата:
Сообщение от YRat Посмотреть сообщение
Так что большое спасибо, и правду полезный свиток, но он не подхлжит под поставленные задачи.
Ну, дело твоё
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 09.11.2011, 13:20
#25
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


Цитата:
Сообщение от hwd Посмотреть сообщение
Сразу видно, что с подшивками ты не работал...
Нет, подшивки тут только у некоторых архитекторов распространены

За идею в любом случае спасибо, я над этим подумаю, наверное, вы правы, это стоит показать.
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 11.11.2011, 11:53
#26
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 132


hwd, а можно поподробнее. Что-то из справки ничего не понял.
Как сохранять, как и куда чего перетаскивать?
angel-fear вне форума  
 
Непрочитано 13.11.2011, 19:21
#27
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от angel-fear Посмотреть сообщение
hwd, а можно поподробнее. Что-то из справки ничего не понял.
Как сохранять, как и куда чего перетаскивать?
А я почему-то понял... Задаёшь прямоугольную область, интересную тебе и назначаешь ей имя. Какая сложность в этом? Перетаскивание - это при работе с подшивками. Там ты формируешь на листах виды, банальным перетаскиванием именованных видов из различных чертежей, находящихся в указанных тобою каталогов-источников. Т.о. как из мазайки собираешь листы. Поищи видео по подшивкам у Паши Севкава.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 17.11.2011, 19:44
#28
YRat

Support - ACD, ASD, ACA, ACM, RAC, RST
 
Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238


hwd, то есть хваленый метод работает лишь тогда, когда человек с подшивками работает. Что-то как-то не очень-то универсально. А жаль.
__________________
без DWG мы никуда - и не туда, и не сюда...
Спасибо за то, что Вы есть, коллеги ;)
YRat вне форума  
 
Непрочитано 17.11.2011, 20:06
#29
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 132


Я правильно понимаю, что изначально надо ввести команду -ВЭКРАН в пространсте модели или нет?
angel-fear вне форума  
 
Непрочитано 17.11.2011, 20:51
#30
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от YRat Посмотреть сообщение
hwd, то есть хваленый метод работает лишь тогда, когда человек с подшивками работает. Что-то как-то не очень-то универсально. А жаль.
"Хваленый" Грамотный метод работает так как и должен работать, ибо все проекты следует организовывать в виде подшивок, а если кто-то работает через ж@пу, то его его личная проблема, ибо никто ему не запрещает изучать функционал автокада и использовать оный "хвалено" грамотно. Что касается именованных видов, то используются они не только в подшивках - F1 в помощь.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.03.2012, 11:02
#31
serdgius

Архитектор
 
Регистрация: 22.02.2007
Красноярск
Сообщений: 20
<phrase 1=


Цитата:
Сообщение от YRat Посмотреть сообщение
hwd, спасибо, вероятно, так и было задумано Автодеском, но
1. это долго
2. хотя и приносит свои позитивные фичи, мне они не нужны.. нет двух одинаковых окон, которые я располагаю на листах
3. Сидеть и выдумывать названия, в которых сам потом запутаешься, когда на лист захочешь расположить.

Пример: подпорная стенка с анкеровкой, 12 листов с детялями и обзорами. Я не считал, но примерно могу сказать, то там порядка 50-60 видов надо создавать. Я с ума сойду работая так)

Посему клиент спросил, а нет ли возможности из листа нажать кнопочку и быстренько сделать участок модели в моем масштабе...

Так что большое спасибо, и правду полезный свиток, но он не подхлжит под поставленные задачи.

gomer, согласный я, буду думать)
Полностью согласен. Сам работал с именованными видами и запарок там на самом деле больше чем полезностей ко всему прочему, обратил внимание на то что их применение подгружает сам AutoCAD.
serdgius вне форума  
 
Непрочитано 06.12.2012, 18:51
#32
pitonch

тепловые сети
 
Регистрация: 07.06.2009
минск
Сообщений: 14


добрый день, у меня такой вопрос, а можно ли в лиспе добавить многоугольную рамку видового экрана (подрезанная)?
ps/ лисп очень удобен, если быстро и много надо нарезать видовых из модели, а еще и в разном масштабе.
только иногда работает некорректно, не тот масштаб и не то что выделял вписывает в видовой экран(

Последний раз редактировалось pitonch, 07.12.2012 в 11:11.
pitonch вне форума  
 
Непрочитано 12.05.2013, 01:13
#33
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Уж 21-й век на дворе, а количество чайников и ламеров (см. http://lurkmore.to/Ламер) не меняется. Видовые экраны используют небольшой процент работающих в Автокаде. Как-то непонятно для большинства, казалось бы простое, метод создания видовых экранов. YRat сделал сделал шаг, чтобы упростить процесс. Я попробую внести усовершенствования в его програму. Моя версия может быть проста, т.к. не предлагает выбор пользователю в некоторых случаях. Вот:
Код:
[Выделить все]
 ;; быстрое создание ВЭ
(defun c:бсвэ ( / vpxd vpyd vpc p1 p2 pve masv s_layer lay_su)
(setvar "cmdecho" 0) ; 
(vl-load-com)
(setq ActiveDocument (vla-get-activedocument (vlax-get-acad-object)))
(vlax-invoke-method ActiveDocument "StartUndoMark")
(setq old_lay (getvar "clayer"))
	(if (not (tblsearch "layer" "В_Экран"));; если нет такого то создать
	(progn
	; Создание слоя
	(setq s_layer (vla-get-layers  ActiveDocument))
	(setq lay_cr (vlax-invoke-method s_layer "add" "В_Экран"))
	(vla-put-Color lay_cr  8)
	(vla-put-Plottable lay_cr :vlax-false);; не печатать
	))
(setvar "clayer" "В_Экран");; установка слоя текущим
	(setq s_layer (vla-get-layers  ActiveDocument))
	(setq lay_su (vlax-invoke-method s_layer "Item" "В_Экран"))
		(if (or (= :vlax-true (vla-get-freeze lay_su));; если что-то не так со слоем
		(= :vlax-true (vla-get-Lock lay_su))
		(= :vlax-false (vla-get-LayerOn lay_su)) )
		(progn
			(vla-put-freeze lay_su :vlax-false);; разморозить
			(vla-put-Lock lay_su :vlax-false)  ;; разблокировать 
			(vla-put-LayerOn lay_su :vlax-true);; включить
			(vlax-invoke-method ActiveDocument "regen" acActiveViewport)
		))

(setq layoutname (getvar "ctab")); 
(if (not massh)(setq massh 1.0))
(if (/= layoutname "Model") 
	(progn
	(setq pve (getpoint "\nУкажите нижний левый угол размещения видового экрана"))
	(setvar "tilemode" 1) 
	(setq p1 (getpoint "\nУкажите первую точку отображения области в Видовом Экране: "))  
	(setq p2 (getcorner p1 "\nУкажите противоположную точку отображения области в Видовом Экране: "))
	(setq  modellunitsmulti (nth
	(getvar "insunits")'(1 25.4 304.8 1609344 1 10 1000 1000000 25400000 25400 914.4 0.0000001 0.000001 0.001 100 10000)))
			(setq masv (getreal  (strcat "\nМасштаб ВЭ - 1:" (rtos massh) "? или 1:")))
			(if masv (setq massh masv))
			(setq vpxd (* (/ (abs (- (car p1) (car p2))) massh) modellunitsmulti)) ; 
			(setq vpyd (* (/ (abs (- (cadr p1) (cadr p2))) massh) modellunitsmulti)) ; 
			(setq vpc (list (/ (+ (car p1) (car p2)) 2.0) (/ (+ (cadr p1) (cadr p2)) 2.0) 0.0)) ; 
			(setvar "ctab" layoutname)
			(VL-CMDF "_mview" pve (strcat "@" (rtos vpxd) "," (rtos vpyd))) ; Создание видового экрана 
			(setq ssvp (ssget "_L")) ; выбор созданного ВЭ
			(VL-CMDF "_mspace") ; Вход в Model Space на ВЭ
			(VL-CMDF "_zoom" "_C" vpc (rtos vpyd)) ; Зуммируем по центру
			(VL-CMDF "_zoom" "_SCALE" (strcat (rtos (/ modellunitsmulti massh)) "xp")) ; Установка масштаба
			(VL-CMDF "_vports" "_LOCK" "_ON" ssvp "") ; блокируем ВЭ
			(VL-CMDF "_pspace") ; Выход в ПМ
 		;;	(VL-CMDF "._move" ssvp "" pve pause ) ;; Перемещаем ВЭ на нужную позицию
		)
		(princ "\nЭта команда может быть запущена только в пространстве листа!  ") ; 
	)
(princ)
(setvar "clayer" old_lay)
(vlax-invoke-method ActiveDocument "EndUndoMark")
(setvar "cmdecho" 1) ; 
)
Заодно перевел некоторые англицкие выражения на родной язык.
__________________
Мой сайт ingnmb.wixsite.com/acad-s

Последний раз редактировалось nik_mb, 13.05.2013 в 18:03. Причина: Добавлена в код строка: (setq ActiveDocument (vla-get-activedocument (vlax-get-acad-object)))
nik_mb вне форума  
 
Непрочитано 12.05.2013, 10:27
#34
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от nik_mb Посмотреть сообщение
Уж 21-й век на дворе, а количество чайников и ламеров (см. http://lurkmore.to/Ламер) не меняется.
Давая ссылки на подобного рода "ресурсы", тем самым довольно отчётливо даёшь понять, что ты сам из себя представляешь, "не чайник"... Поскольку подобного рода "ресурсы" популярны лишь среди "людей соответствующего состояния души", испытывающих непонятное удовольствия от чтения подобного контента.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 12.05.2013, 11:48
#35
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Цитата:
Сообщение от hwd Посмотреть сообщение
Давая ссылки на подобного рода "ресурсы", тем самым довольно отчётливо даёшь понять, что ты сам из себя представляешь, "не чайник"... Поскольку подобного рода "ресурсы" популярны лишь среди "людей соответствующего состояния души", испытывающих непонятное удовольствия от чтения подобного контента.
Не понял о чем это Вы. Я - лишь то, что "чайник" лишь начинающий пользователь. А выйдет ли из него "ламер" - мало знающий, но не желающий узнать больше того, чему его (ее) учили в ВУЗе или нет - вопрос не простой.
Вы, года два назад доказывали, что незачем писать такого рода програмки - "врукопашную" можно сделать довольно быстро. Но большинству пользователей это так не кажется. Работающих с видовыми экранами единицы. Беда в том, что руководители и "старшие товарищи", а так же преподаватели ВУЗов, из "старой гвардии" - привыкших работать с бумагой. От того и ужасы построений в проекте - вычерчивается в масштабе 1:50 или 1:100 (т.е. 1мм пространства модели соответствует 100мм проектируемой конструкции), одни настаивают на миниуме слоев, другие делают их множество с экзотическими названиями, при этом в каждом слое может быть вычерчены разнообразные типы объектов. Рамок в модели, разных форматов - туча. Спрашиваешь: "Почему так делаете?" Ответ: "Нас так научили".
Обучить правильно (это как в книгах пишут, согласно идеологиии програмного продукта) таких получается слабо. Так, что пока вот такие програмки, чтобы по чуть-чуть перетягивать еще "чайника" на сторону грамотного, удобного проектирования.
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Непрочитано 12.05.2013, 12:27
#36
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


@nik_mb
Может Вы и правы...
Однако и в предлагаемом Вами варианте есть свои минусы (на мой взгляд): если пользователю случится где-то сесть работать с AutoCAD на чужой машине (например где-то на переферии, в строительном вагончике за ноутбуком прораба), не имеющей соответствующих дополнительных программок, то работать ему будет сложно, если он, в качестве альтернативы, не знает "родного" способа решения подобных задач. Поэтому, хотя бы в качестве запасного варианта, знать "родное" решение от Autodesk - это своего рода "страховка" от подобных случаев.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 06.02.2014, 14:22
#37
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 415


Спасибо. Своё предназначение выполняет на 100%.
RNB вне форума  
 
Непрочитано 21.02.2014, 19:41
#38
San-_-13


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


Здравствуйте, очень заинтересовал ваш lisp, попробовал его применить, но есть одна проблема, видовой экран создается в каком-то рендомном масштабе, в чем может быть проблема?
San-_-13 вне форума  
 
Непрочитано 22.02.2014, 12:53
#39
maratovich


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


Цитата:
Сообщение от San-_-13 Посмотреть сообщение
видовой экран создается в каком-то рендомном масштабе, в чем может быть проблема?
Вопрос не особо понятен.
Опишите подробнее проблему и если возможно приложите файл.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 27.02.2014, 10:24
#40
San-_-13


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


А суть моей проблемы по поводу Lispa заключается в следующем...я ввожу команду "AF" из пространства листа, меня автоматически перебрасывает в пространство модели, где мне нужно обвести нужную мне область рамкой и указать нужный мне масштаб ( в котором будем размещена моя деталь например). Например, я обвожу рамкой какую-то область и вписываю масштаб 1:20, в пространстве листа создается видовой экран но в каком-то непонятном масштабе, далеко не в 1:20.
У кого нибудь была проблема такого рода? как-то лечил это?
San-_-13 вне форума  
 
Непрочитано 27.02.2014, 10:33
#41
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 415


Цитата:
Сообщение от San-_-13 Посмотреть сообщение
А суть моей проблемы по поводу Lispa заключается в следующем...я ввожу команду "AF" из пространства листа, меня автоматически перебрасывает в пространство модели, где мне нужно обвести нужную мне область рамкой и указать нужный мне масштаб ( в котором будем размещена моя деталь например). Например, я обвожу рамкой какую-то область и вписываю масштаб 1:20, в пространстве листа создается видовой экран но в каком-то непонятном масштабе, далеко не в 1:20.
У кого нибудь была проблема такого рода? как-то лечил это?
Вводить нужно не 1:20, а 20
RNB вне форума  
 
Непрочитано 27.02.2014, 11:09
#42
San-_-13


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


Цитата:
Сообщение от RNB Посмотреть сообщение
Вводить нужно не 1:20, а 20
Ну это понятно, я так и делаю (видимо не корректно написал в предыдущем посте). Видовой экран создается либо в масштабе 1:1 или вообще в произвольном(((
San-_-13 вне форума  
 
Непрочитано 27.02.2014, 11:35
#43
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 415


Цитата:
Сообщение от San-_-13 Посмотреть сообщение
Ну это понятно, я так и делаю (видимо не корректно написал в предыдущем посте). Видовой экран создается либо в масштабе 1:1 или вообще в произвольном(((
У меня команда вела себя некорректно однажды. Не знаю, как это влияло на программу, но очень сильно отдалена была область печати на листе. Когда приблизил область печати, всё встало на свои места.
Как вариант, попробуйте область печати настроить и приблизить (танцы с бубном какие-то, но может быть поможет...)
RNB вне форума  
 
Непрочитано 27.02.2014, 12:27
#44
maratovich


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


Цитата:
Сообщение от San-_-13 Посмотреть сообщение
Ну это понятно, я так и делаю (видимо не корректно написал в предыдущем посте). Видовой экран создается либо в масштабе 1:1 или вообще в произвольном(((
Подтверждаю - глюк присутствует.
Почему не знаю, в лиспе не шарю, но у меня лечится так (в одной вкладке выполнять подряд):
1. Пробую вставить с масштабом 20 - фигня
2. Пробую вставить с масштабом 1 - норма
3. Это и последующие вставить с масштабом 20 - норма.

----- добавлено через ~2 мин. -----
San-_-13 сервис пак установлен ?
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 05.03.2014, 17:23
#45
San-_-13


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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Подтверждаю - глюк присутствует.
Почему не знаю, в лиспе не шарю, но у меня лечится так (в одной вкладке выполнять подряд):
1. Пробую вставить с масштабом 20 - фигня
2. Пробую вставить с масштабом 1 - норма
3. Это и последующие вставить с масштабом 20 - норма.

----- добавлено через ~2 мин. -----
San-_-13 сервис пак установлен ?
Сервис пак установлен первый, хотя не совсем понимаю связь. Попробовал ваш метод, к сожалению он не работает( в масштабе 1:1 вставляется нормально все, но если указывать какой-то другой масштаб происходит то, что я описал выши. Да и вообще я думаю, что если человек выкладывает это как "готовый" продукт, то и это должно работать, так как написано в "пособию по применению". Жаль, что решение проблемы видимо тут не будет(.
San-_-13 вне форума  
 
Непрочитано 05.03.2014, 18:03
#46
Лада Калина Универсал


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


А у меня программа делает ошибку:

Команда: af Восстановление кэшированных видовых экранов.

Укажите одну из вершин области:
Укажите противоположную вершину области:
Masstab - 1:
; ошибка: неверный тип аргумента: numberp: nil
Лада Калина Универсал вне форума  
 
Непрочитано 08.04.2014, 10:41
#47
Boxa

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


Когда то писал для себя такое. Теперь приходится поддерживать и развивать по замечаниям трудящихся.
Если интересно, то скачать можно тут :http://experement.spb.ru/wiki/doku.php?id=vport_pp
Видео тут: http://youtu.be/JRU4YrkzDPc
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 08.04.2014, 11:11
#48
maratovich


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


Boxa, спасибо, интересный вариант, добавил в общий список
Думаю против не будешь
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 08.04.2014, 12:18
#49
Boxa

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Boxa, спасибо, интересный вариант, добавил в общий список
Думаю против не будешь
не буду. =) Потому и дал ссылку.
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 09.04.2014, 10:40
#50
San-_-13


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Когда то писал для себя такое. Теперь приходится поддерживать и развивать по замечаниям трудящихся.
Если интересно, то скачать можно тут :http://experement.spb.ru/wiki/doku.php?id=vport_pp
Видео тут: http://youtu.be/JRU4YrkzDPc
Спасибо большое, это куда интереснее..но, есть несколько вопросов и пожеланий.
1. Можно ли сделать, что-бы при создания видового экрана он сразу блокировался??
2. И может быть офтопный вопрос, но не подскажете, как добавить .dll фаил в автозагрузку(аналог автозагрузки .lisp)?
Спасибо.
San-_-13 вне форума  
 
Непрочитано 09.04.2014, 20:23
#51
Boxa

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


1. Можно, а вот нужно ли?
2. Вот тут расписывал: http://experement.spb.ru/wiki/doku.php?id=setup_acaddll
Не за что.
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 17.04.2014, 18:21
#52
shartal


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


Для nik_mb. Задается только стандартный масштаб видового экрана. Масштаб аннотаций остается неизменным. Можно это исправить, иначе при использовании аннотац. объектов вся процедура теряет смысл.
shartal вне форума  
 
Непрочитано 03.07.2017, 12:37
#53
tujn08


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


Кто мне поможет с созданием многоугольных видовых экранов?
_-vports - какое обращение к функции?
tujn08 вне форума  
 
Непрочитано 03.07.2017, 13:49
#54
Сергей812


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


Цитата:
Сообщение от tujn08 Посмотреть сообщение
_-vports - какое обращение к функции?
ну, как минимум, с точкой:
Цитата:
_.-VPORTS
ключи - "_P" - многоугольный, в конце построения закрыть - "_C".
Сергей812 вне форума  
 
Непрочитано 03.07.2017, 13:54
#55
tujn08


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


Код:
[Выделить все]
 (command "_-vports" "_p" point point2 point3 point4 point5 "_C")
Спасибо! вот искал ключ "_C"
tujn08 вне форума  
 
Непрочитано 03.07.2017, 14:20
#56
Сергей812


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


А чего его искать, с вероятностью 90% - "Close")
Сергей812 вне форума  
 
Непрочитано 11.01.2018, 23:04
#57
olga87


 
Регистрация: 28.05.2007
г. Екатеринбург
Сообщений: 85


Спасибо за лисп "бсвэ" (http://forum.dwg.ru/showpost.php?p=1091820&postcount=33).
Попробовав в Автокаде 2007 заметила следующее: если мне нужен масштаб ВЭ = 2, то на запрос Масштаба задаю 0.5, в результате все работает, если в окне "Единицы чертежа" в зоне "Масштаб вставки" выставлено "миллиметры", если "метры"- то масштаб ВЭ в результате получается равным 2000. Вопрос: как это исправить в коде?
В Автокаде 2008 ввожу, например, масштаб 50, то в итоге для ВЭ в его свойствах получается: Масштаб аннотаций 1:50, Пользовательский масштаб каждый раз разный (0.0014 или 0.0019,...).
olga87 вне форума  
 
Непрочитано 06.06.2018, 12:28
#58
alex-kolchugin

инженер-конструктор
 
Регистрация: 03.02.2010
г. Березники, Пермский край
Сообщений: 38


(command "_zoom" "_SCALE" (strcat (rtos (/ modellunitsmulti mass)) "xp")
Что такое "xp"? загружаю эту строку, возвращает 0.0xp и ругань... В комстроке пишет значение должно быть положительным и не нулевым... Масштаб ранее задал 1:50. Я так понимаю это масштабный коэффициент...
Сделал так (command "_zoom" "_SCALE" (rtos (/ modellunitsmulti mass) 2 2)), загружаю вернул значение 0.02... Вроде всё нормально, ибо 1/50=0.02
Запускаю весь лисп, набираю "af", всё рисует красиво, НО... масштаб видового экрана 0.013 и что-то там ещё какие-то цифры дальше...
AutoCAD 2017
__________________
У меня есть один очень большой минус... да и тот - резус-фактор :crazy:
alex-kolchugin вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Компоновка видовых экранов на лист.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование видовых экранов с листа на др. лист Алексий K AutoCAD 23 14.05.2015 13:31
Фатал эррор при переходе с модели на лист с большим количеством видовых окон Serikdjan AutoCAD 14 28.04.2011 10:03
Ищу листы Специальной карты Европейской России М:1дюйм-10верст KSI Поиск литературы, чертежей, моделей и прочих материалов 6 19.04.2009 12:04
Содержимое видовых экранов (в ПЛ) плавает при кручении колеса мыши JokerrSergh AutoCAD 29 29.12.2008 13:16