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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Попасть в слой.

Попасть в слой.

Ответ
Поиск в этой теме
Непрочитано 22.02.2006, 05:38 #1
Попасть в слой.
Vova
 
Engineer
 
New-York
Регистрация: 05.09.2003
Сообщений: 10,288

Все хотят, чтобы размер встал в слой РАЗМЕРЫ (условно) не переключаясь в него
Как это сделать?
Просмотров: 35967
 
Непрочитано 22.02.2006, 05:45
#2
forMA


 
Регистрация: 25.08.2005
Сообщений: 2,556


Попробуйте найти книгу В. Света "AutoCAD Язык макрокоманд и создание кнопок". Там на эту тему кажется, кое что написано.
forMA вне форума  
 
Непрочитано 22.02.2006, 05:47
#3
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


В смысле, без столь тобою любимых кнопочных макросов, которые помещают размер куда надо :?:
Идея проста - сделать реактор, реагирующий на появление новых примитивов в чертеже и нехай он закидывает куда надо.... Разумеется, если образмеривание делается на нескольких слоях, то нужно учесть также слой под активным ВЭ.

> forMA
Шутка удалась
vk вне форума  
 
Непрочитано 22.02.2006, 05:53
#4
forMA


 
Регистрация: 25.08.2005
Сообщений: 2,556


для vk
------
Не понял. Какая шутка?
forMA вне форума  
 
Непрочитано 22.02.2006, 06:06
#5
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от forMA
для vk
------
Не понял. Какая шутка?
Не понял... ты не читал эту книгу? Прочти обязательно! Автор Владимир Свет.
Его ник на этом и на другом форуме Vova

PS Кто автор темы :?: Посмотри :wink:
vk вне форума  
 
Непрочитано 22.02.2006, 06:10
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Действительно ВСЕ хотят? Тем, кто имеет отношение к архитектуре, можно посоветовать перейти на ArchiCAD. Там размеры ставятся на свой слой автоматически. Или перейти на Revit. Там проблемы со слоями вообще нет, поскольку самих слоев нет. Остальные перебьются. Сделать нужный слой текущим - велика проблема. Скажут, мол, много слоев, в глазах рябит. Так обзовите слои так, чтобы сразу можно было найти, например, как у forMA:
06-DIMENSION.
Насчет кнопок с соответствующими макросами говорить не буду, Vova сам лучше знает...
Profan вне форума  
 
Непрочитано 22.02.2006, 06:13
#7
forMA


 
Регистрация: 25.08.2005
Сообщений: 2,556


для vk
--------
У меня эта книга есть. Разве Vova автор этой книги? Совершенно разные позиции. Vova- идейный "клавишник", В. Свет явный "кнопочник". И книга этому прямое доказательство. Нет этого не может быть.
forMA вне форума  
 
Непрочитано 22.02.2006, 06:22
#8
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Может.... Откройте страницу 245, вторая строка снизу... сравните емайл ))

А вобще то на этом форуме было много сказано об этой книге...
vk вне форума  
 
Непрочитано 22.02.2006, 06:46
#9
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Странно мне, что Autodesk не предусмотрела механизма или инструмента, необязательного к исполнению, - механизма увязки объекта с определенным слоем, назначаемым пользователем. Сверхуниверсальность AutoCAD'а создает много проблем, главная из которых - неоднозначность приемов работы. Поэтому и приходится продвинутым пользователям придумывать разные СТП, чтобы подавить эту неоднозначность. Однако, ВСЕ знают, что размер - специфический объект AutoCAD'а, и к нему вполне можно было бы применить этот инструмент. Поставить, например, в соответствие команде образмеривания слой 06-DIMENSION и больше не думать об этом, слой становился бы текущим автоматически. А то вот пользователи должны сочинять реакторы. То же самое можно сказать и про текст. Правда, мне кажется, что тот факт, что слой является свойством объекта, как-то мешает реализации этого инструмента.
Profan вне форума  
 
Непрочитано 22.02.2006, 06:52
#10
forMA


 
Регистрация: 25.08.2005
Сообщений: 2,556


для Profan
-----------
Я с огромным удивлением все это читаю.
Просто обалдеваю от такого. Для меня одна загадка сменяется другой. Теперь мне понятна реакция публики, когда я только заикнулся о постоянно включенных привязках.
forMA вне форума  
 
Непрочитано 22.02.2006, 07:06
#11
forMA


 
Регистрация: 25.08.2005
Сообщений: 2,556


для Profan
-----------
Поставьте тот же ЕСКД как теоретическую базу для черчения в AutoCAD хотя бы в своей области и не будет никаких вопросов или проблем. Насколько я знаю в CS многое решено. Дорого, конечно, стоит. Но можно вполне обойтись и LISP c VBA. Я пребываю в огромном удивлении.
forMA вне форума  
 
Автор темы   Непрочитано 22.02.2006, 07:21
#12
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Что-то мало предложений. Макрос, реактор, переход на др программы, и все? А как-же для простых смертных, которым это не под-силу? А хочется... И текст также хочется в слой засунуть, и еще кое-что. А переключатся ох как неохота. Как и кисточкой мазать. А СТП велят, чтобы было единообразно.
Да, чуть не забыл, я говорю об АС-2005.
Vova вне форума  
 
Непрочитано 22.02.2006, 07:34
#13
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


мое решение:
Код:
[Выделить все]
^C^C(command "_layer" "Set" "_Размер" _$ (command "_dimlinear" pause pause pause (command "_layerP")))
v_alex вне форума  
 
Непрочитано 22.02.2006, 07:48
#14
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Vova, это очередная загадка?

Мое решение на VBA (пока без обработки ошибок по нажатию ESC - если пользователь отказался от продолжения команды то будет оставлен слой размеров)
Для простоты также предполагаем что слой для размеров "6-DIM" уже присутствует в чертеже (хотя, создать его программно - не проблема)
Код:
[Выделить все]
Option Explicit

Dim preLayer As AcadLayer
Public WithEvents ACADApp As AcadApplication


Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
  If InStr(CommandName, "DIM") = 1 Then
    Set preLayer = ActiveDocument.ActiveLayer
    ActiveDocument.ActiveLayer = ActiveDocument.Layers("6-DIM")
  End If
End Sub

Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
  If InStr(CommandName, "DIM") = 1 Then
    ActiveDocument.ActiveLayer = preLayer
  End If
End Sub
Почему сначала переключил а потом рисовать заставил? Гммм... Некоторые размеры (метка центра, цепочка размеров, угловой размер в некоторых случаях, может еще что то) строятся по какому то хитрому способу. То есть, команда закончилась, а работа с примитивами продолжается. Почему так - пока не понял.
vk вне форума  
 
Непрочитано 22.02.2006, 08:11
#15
Кулик Алексей aka kpblc
Moderator

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


Есть мааахлонький вопрос: работаем чисто в каде? Никаких ADT / MDT / ABS? Если да, то (ИМХО!!!) проще либо сделать макрос на кнопку, либо лисп, меняющий свойства последнего примитива, либо (что еще лучше) - реактор. Правда, с реакторами тоже морока. У моих сделан именно реактор, но, чую, учтено было не все.
> vk : Умоляю, если сегодня еще появишься, напиши мне в почту либо в аську, чертовски хочу некоторые моменты обсудить!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.02.2006, 09:37
#16
Star

Конструктор штампов
 
Регистрация: 10.03.2004
г. Киев
Сообщений: 92


Раз Vova акцентирует внимание на АС2005, то может в нём предумотрено что-то такое? Сам пользуюсь пока 2002-й версиией, поэтому жду ответа.
Star вне форума  
 
Непрочитано 22.02.2006, 09:40
#17
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для forMA
При чем тут ЕСКД, Господи? Я говорю об полуавтоматическом управлении объектными слоями средствами самого AutoCAD'а. Не автоматическим, как в ADT и т.п., в которых слои уже назначены программно, а по желанию пользователя. А то, что спрашивает Vova можно же решить с помощью AutoLisp'а, только заменить стандартные макросы на кнопках и в пунктах меню новыми командами, в которых нужные слои будут переключаться автоматически. Ну, и обработчик ошибок нужен, который лучше записать в acad.lsp. Конечно, остается проблема с командной строкой, так это пусть "клавишники" подумают.
Profan вне форума  
 
Непрочитано 22.02.2006, 09:40
#18
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Я дико извиняюсь, а если взять и попробовать сделать макрос не кнопочный, а temporary override keys?
X-DeViL вне форума  
 
Непрочитано 22.02.2006, 09:43
#19
Кулик Алексей aka kpblc
Moderator

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


> X-DeViL : А перевод?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.02.2006, 09:55
#20
Krieger

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


Цитата:
Конечно, остается проблема с командной строкой, так это пусть "клавишники" подумают.
А можно и команды переопределить.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Попасть в слой.

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

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