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

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

Есть ли возможность при вставке блока разрывать линии

Ответ
Поиск в этой теме
Непрочитано 01.04.2006, 15:16 #1
Есть ли возможность при вставке блока разрывать линии
Незнайка
 
Конструктор
 
Краснодар
Регистрация: 10.01.2005
Сообщений: 15

Я не знаю Лиспа (точнее знаю что он существует и это язык программировани, но им не владею). Поэтому вставляю блоки обычным способом. Сам работаю в машиностроительном направлении. Поэтому очень много блоков типа крепежа (винты, болты и т.п.).
И хотелось знать в какую сторону рыть (Лисп, команда, переменные и т.д.) чтоб при в ставке определенных блоков, линии которые проходят под этим блоком разрывались в пределах этого блока.
Например при вставке винта чтоб тело сплошного материала разрывалось в месте втавки этого блока.
P.S. Кнопки создавать умею
Зарание благодарен за ответы. Может у кого есть готовые решения.
Просмотров: 5933
 
Непрочитано 01.04.2006, 16:28
#2
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


закатай в блок wipeout, см. вложение

рамка включается командой tframes
[ATTACH]1143894519.dwg[/ATTACH]
asys вне форума  
 
Автор темы   Непрочитано 02.04.2006, 11:00
#3
Незнайка

Конструктор
 
Регистрация: 10.01.2005
Краснодар
Сообщений: 15


Asys, спасибо за подсказку.
Но что-то я не то делаю или как
Приведу свой отредактированный блок.
Ткните носом если не затруднит, что я делаю на так.
P.S. Класный блок в Вашем приведенном примерею.
[ATTACH]1143961243.dwg[/ATTACH]
Незнайка вне форума  
 
Непрочитано 02.04.2006, 11:13
#4
Amzid


 
Регистрация: 09.06.2005
Москва
Сообщений: 100


Незнайка, если я правильно понял, надо объект _wipeout перемести за (под) основные элемента блока. Т.е. Воспользоваться командой _DRAWORDER c опцией _Back.
Amzid вне форума  
 
Автор темы   Непрочитано 02.04.2006, 11:23
#5
Незнайка

Конструктор
 
Регистрация: 10.01.2005
Краснодар
Сообщений: 15


Amzid, спасибо за помощь.
Помогло.
Теперь буду свою библиотеку переделывать под новый формат блоков.
Всем огромное спасибо за помощь. Проблема решена.
Незнайка вне форума  
 
Непрочитано 02.04.2006, 13:05
#6
Евгений

Инженер-конструктор РЭА
 
Регистрация: 21.08.2003
Питер
Сообщений: 72
<phrase 1=


Моно ешо установить MechaniCS там енто уже все есть. Крепеж, подшибники, и т.п Там же и редакция длинны, и в СП вставляет. И ореинтирован он на механиков. Давно пользуюсь в качестве дополнения. Попробуй если не влом.
Евгений вне форума  
 
Непрочитано 02.04.2006, 14:21
#7
pyatifan


 
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
<phrase 1=


wipeout это одно...мне б тож хотелось получить именно то, что в заголовке. Вот пример Krieger, если постараться, можно вместо линии пулять и блок.
Цитата:
Недавно сделал такой макросик:
Разрывает линию между двумя точками и чертит там отрезок в текущем слое.

Код:
^C^C(setq A (ssget));_single;\(setq pt1 (getpoint));\(setq pt2 (getpoint pt1));\_break;!A;!pt1;!pt2;_line;!pt1;!pt2;;
Механикс тож выход...в нём нравится инструмент с видами, когда при выделениии участка вида окружностью, линии на которые он ложится разрываются в этом месте.

Если иметь дело с wipeout, то вот пока 2 таракана, которых я знаю, с которыми придётся считаться:
-при сохранении чертежа с включённым wipeout'ом размер файла почему-то увеличивается в несколько раз (больше чем в 2 раза),
-палеты и wipeout'ы вещи несовместимые.

Выход:
1)В автозагрузку повесить файл лиспа, который автоматически отключает wipeout в положение без рамки (за него спасибо крысу).
Код:
[Выделить все]
(defun start( / _cmdecho_) 
  (setq _cmdecho_ (getvar "cmdecho")) 
  (setvar "cmdecho" 0) 
  (command "_.wipeout" "_f" "_off") 
  (setvar "cmdecho" _cmdecho_) 
  ) 
(start)
2) Дизайн центр, или команда insert. Возможно кому-то помогает cdorder.
pyatifan вне форума  
 
Непрочитано 02.04.2006, 16:15
#8
Vova

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


Есть 2 способа сделать чтобы блок рвал под собой линию
1. физически. Книга AutoCAD Язык макрокоманд и создание кнопок. В. Свет. BHV 2004. Стр. 171
2. Визуально. Блок, в состав которого входит Vipeout. История этого вопроса начинается в теме Хитрый блок на этом форуме. Там-же дана технология изготовления такого блока и сопутствующие команды, без которых можно получить проблемы, так как блок хотя и хитрый, инигда капризничает. Наберите эту фразу в Поиске.
Vova вне форума  
 
Непрочитано 02.04.2006, 18:31
#9
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


хочу напомнить про команду BREAKLINE из экспресса. Где в разрыв линии вставляется блок из файла. Причем точки разрыва определяюся POINT-ами на слое defpoints в вставляемом блоке
asys вне форума  
 
Непрочитано 02.04.2006, 19:06
#10
pyatifan


 
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
<phrase 1=


Фига, а это идея. Ток походу нужные блоки в поддержку надо, и помнить их наизусть, что не очень практично, а лисп писать, эт пока кишка тонка.
Цитата:
Книга AutoCAD Язык макрокоманд и создание кнопок. В. Свет. BHV 2004. Стр. 171
Уважаемый Vova, ну это же не библия. Я теперь спать перестану наверное и книгу эту искать буду...
pyatifan вне форума  
 
Непрочитано 02.04.2006, 19:18
#11
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


книга стоит того чтоб не спать и найти надо
asys вне форума  
 
Непрочитано 02.04.2006, 19:38
#12
Vova

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


Цитата:
Сообщение от pyatifan
Уважаемый Vova, ну это же не библия. Я теперь спать перестану наверное и книгу эту искать буду...
Если решил занятся разработкой вставки блока в разрыв линии, не худо бы узнать, а что было наработано по этому вопросу раньше. На базе этого можно создать и лучший вариант
Vova вне форума  
 
Непрочитано 03.04.2006, 19:31
#13
Евгений

Инженер-конструктор РЭА
 
Регистрация: 21.08.2003
Питер
Сообщений: 72
<phrase 1=


pyatifan >>> !!Я теперь спать перестану наверное и книгу эту искать буду!!!
Посмотри на www.ozon.ru я там заказывал. Доставили в течении недели. Кника действительно того стоит!
Евгений вне форума  
 
Непрочитано 03.04.2006, 20:34
#14
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Незнайка
В таких блоках есть один подводный камень на который сам наткнулся (уже разбиралось на форуме) - очень важен порядок создания примитивов в блоке, DRAWORDER к сожалению не помогает, после вставки блока WIPEOUT (если был создан последним) вылазит наверх и закрывает все под собой, включая видимые линии. После создания блока я пользуюсь лиспом от ZZZ:
z-draworder-front
Код:
[Выделить все]
(defun c:z-draworder-front (/ ss _osmode) 
  (setq ss (ssget)) 
  (setvar "cmdecho" 0) 
  (if ss 
    (progn 
      (setq _osmode (getvar "osmode")) 
      (setvar "osmode" 0) 
      (vl-cmdf "_copy" ss "" '(0 0 0) "" '(0 0 0) "_erase" ss "");здесь могут проблемки, но у меня их пока не было (прим. Tech) 
      (setvar "osmode" _osmode) 
      ) ;_ progn 
    ) ;_ if 
  (setvar "cmdecho" 1) 
  (princ) 
  ) ;_ defun
Блок создается в произвольном порядке, затем послойно обрабатывается указанным лиспом, последним - верхний слой. Тогда после вставки все остается на своих местах.
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Есть ли возможность при вставке блока разрывать линии

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

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