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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > trim и offset из сценария scr

trim и offset из сценария scr

Ответ
Поиск в этой теме
Непрочитано 20.03.2012, 14:00 #1
trim и offset из сценария scr
ledi
 
Регистрация: 15.03.2012
Сообщений: 7

подскажите , плиз, новичку
сценарий
Код:
[Выделить все]
_.pline 280.1570962725928,180 @-0.0043,217.9303 @-17.9357,14.5165 @0,10.0912 @17.94,14.4621 @0,243 
_.pline @35,0 @0,-84 @17.94,-14.52 @0,-10.09 @-17.94,-14.46 @0,-377 
_.insert "d:\work\autocad\blocks\exit1" @0,332   
_.trim _fence 350,550 @0,-50   _fence 280,510 320,510  
_.offset _layer _current 10 280,460 250,460 315,430 350,430 315,615 350,615
trim не обрезает , offset не делает смещение одной полилинии.

вот протокол для этих команд после выполнения пакета
Команда: _.trim
Текущие установки: Проекция=ПСК, Кромки=Без продолжения
Выберите режущие кромки ...
Выберите объекты или <выбрать все>: _fence
Укажите первую точку линии выбора: 350,550
Укажите следующую точку линии выбора или [Отменить]: @0,-50
Укажите следующую точку линии выбора или [Отменить]: найдено: 0
Выберите объекты или <выбрать все>:
Выберите обрезаемый (+Shift -- удлиняемый) объект или
[Линия/Секрамка/Проекция/Кромка/уДалить/Отменить]: _fence
Укажите первую точку линии выбора: 280,510
Укажите следующую точку линии выбора или [Отменить]: 320,510
Укажите следующую точку линии выбора или [Отменить]:
Выберите обрезаемый (+Shift -- удлиняемый) объект или
[Линия/Секрамка/Проекция/Кромка/уДалить/Отменить]:
Команда: _.offset
Текущие настройки: Удалить исходные=Нет Слой=Текущий OFFSETGAPTYPE=0
Укажите расстояние смещения или [Через/Удалить/Слой] <Через>: _layer
Введите параметр слоя для смещаемых объектов [Текущий/Источник] <Текущий>:
_current
Укажите расстояние смещения или [Через/Удалить/Слой] <Через>: 10
Выберите объект для смещения или [Выход/Отменить] <Выход>: 280,460
Выберите объект для смещения или [Выход/Отменить] <Выход>: 250,460
Выберите объект для смещения или [Выход/Отменить] <Выход>: 315,430
Выберите объект для смещения или [Выход/Отменить] <Выход>: 350,430
Выберите объект для смещения или [Выход/Отменить] <Выход>: 315,615
Укажите точку, определяющую сторону смещения, или [Выход/Несколько/Отменить]
<Выход>: 350,615


получается что не находит объект при выборе....
если выполняю каждую из этих команд вводом с командной строки, то отрабатывает как надо

в чем моя ошибка?
Просмотров: 3957
 
Непрочитано 20.03.2012, 14:00
#2
Кулик Алексей aka kpblc
Moderator

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


Привязку сними.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.03.2012, 14:11
#3
ledi


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


привязка отключена была еще до выполнения скрипта
ledi вне форума  
 
Непрочитано 20.03.2012, 19:45
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Сравни
Цитата:
Сообщение от ledi Посмотреть сообщение
Команда: _.trim
Текущие установки: Проекция=ПСК, Кромки=Без продолжения
Выберите режущие кромки ...
Выберите объекты или <выбрать все>: _fence
Укажите первую точку линии выбора: 350,550
Укажите следующую точку линии выбора или [Отменить]: @0,-50
Укажите следующую точку линии выбора или [Отменить]: найдено: 0
Цитата:
Команда:
ОБРЕЗАТЬ
Текущие установки: Проекция=ПСК, Кромки=С продолжением
Выберите режущие кромки ...
Выберите объекты или <выбрать все>:
Выберите обрезаемый (+Shift -- удлиняемый) объект или
[Линия/Секрамка/Проекция/Кромка/уДалить/Отменить]: _fence
Укажите первую точку линии выбора: 350,550
Укажите следующую точку линии выбора или [Отменить]: @-50,0
Укажите следующую точку линии выбора или [Отменить]:
1. Красным выделено где должна быть опция _fence, сравни где у тебя
2.
Цитата:
Укажите первую точку линии выбора: 350,550
Укажите следующую точку линии выбора или [Отменить]: @0,-50
Прорисуй по этим точкам и найди хотя бы 1 пересечение
3. Для команды _trim граничные кромки не могут быть виртуальными.
4. Скажи, как Автокад должен понять, что обрезать по твоей линии?
Ведь по линии можно обрезать верхнюю часть или нижнюю?
5. Подсказка: для указания объектов нужно использовать конструкцию, возвращаемую ф-цией (entsel). Т.е список из имени объекта и точки указания. Причем точка не обязательно должна быть на самом примитиве
Посмотри пример во вложении
Вложения
Тип файла: zip test.zip (326 байт, 42 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.03.2012, 00:48
#5
ledi


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


to VVA
1.Опция _fence у меня в двух местах: и для режущей кромки и для обрезаемого объекта
Цитата:
Выберите режущие кромки ...
Выберите объекты или <выбрать все>: _fence
......
Выберите обрезаемый (+Shift -- удлиняемый) объект или
[Линия/Секрамка/Проекция/Кромка/уДалить/Отменить]: _fence
Дело в том, что в качестве режущей кромки у меня блок(см.вложения), поэтому выбор делаю линией
Цитата:
_.insert "d:\work\autocad\blocks\exit1" @0,332
4. Почему, когда выполняю _trim из командной строки, то автокад видит режущие кромки

Команда: _.trim
Текущие установки: Проекция=ПСК, Кромки=Без продолжения
Выберите режущие кромки ...
Выберите объекты или <выбрать все>: _fence
Укажите первую точку линии выбора: 350,550
Укажите следующую точку линии выбора или [Отменить]: @0,-50
Укажите следующую точку линии выбора или [Отменить]: найдено: 4
и что нужно обрезать - понимает и обрезает
а trim из пакета нет найдено: 0


5.Воспользовавшись подсказкой, указала в выборе режущей кромки конструкцию, возвращаемую ф-цией (entsel)
Код:
[Выделить все]
_.pline 280.1570962725928,180 @-0.0043,217.9303 @-17.9357,14.5165 @0,10.0912 @17.94,14.4621 @0,243 
_.pline @35,0 @0,-84 @17.94,-14.52 @0,-10.09 @-17.94,-14.46 @0,-377 
(setq pl2 (entlast))
_.insert "c:\work\autocad\blocks\exit1" @0,332   
(setq ob1 (entlast))
_.trim !ob1  (list pl2 350,555)
Получила такой ответ:

Выберите режущие кромки ...
Выберите объекты или <выбрать все>: !ob1 <Имя объекта: 7ef03c38>
найдено: 1
Не является допустимой кромкой или методом: 1.
Миниатюры
Нажмите на изображение для увеличения
Название: Чертеж.jpg
Просмотров: 44
Размер:	15.4 Кб
ID:	76885  
Вложения
Тип файла: dwg
DWG 2007
exit1.dwg (51.0 Кб, 739 просмотров)

Последний раз редактировалось ledi, 22.03.2012 в 00:57.
ledi вне форума  
 
Непрочитано 22.03.2012, 09:48
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


ledi, Блок не может быть режущей кромкой. Попробуй в ручном режиме выбрать в качестве режущей кромки какую-либо грань блока и посмотри что подсветится. Просто программно на время работы команды из блока "достается" линейный элемент и он становится режущей кромкой, а не блок. Подобный механизм у команды ncopy из Express Tools. Поэтому твоя идея с блоком не прокатит. Можно перед именем при вставке блока указать символ *, тогда блок вставится расчлененным.
Код:
[Выделить все]
_.insert "*d:\work\autocad\blocks\exit1" @0,332
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.03.2012, 11:52
#7
ledi


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


VVA, спасибо за помощь, так работает

Код:
[Выделить все]
_.pline 280.1570962725928,180 @-0.0043,217.9303 @-17.9357,14.5165 @0,10.0912 @17.94,14.4621 @0,243 
_.pline @35,0 @0,-84 @17.94,-14.52 @0,-10.09 @-17.94,-14.46 @0,-377 
_.insert "*d:\work\autocad\blocks\exit1" @0,332  
_.ZOOM _E _.ZOOM 0.85X
_.trim _fence 350,550 @0,-50   _fence 280,510 320,510  
_.offset _layer _current 10 280,460 250,460 315,430 350,430 315,615 350,615
Миниатюры
Нажмите на изображение для увеличения
Название: Чертеж3.jpg
Просмотров: 37
Размер:	24.5 Кб
ID:	76918  
ledi вне форума  
 
Непрочитано 22.03.2012, 12:34
1 | #8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


ledi, Предлагаю отказаться от обрезки, а воспользоваться "хитрым блоком" (блок с маскировкой)
Пример блока и результат во вложении. Попробуй перемещать блок в примере.
Вложения
Тип файла: dwg
DWG 2004
exit1.dwg (41.0 Кб, 740 просмотров)
Тип файла: dwg
DWG 2004
exittest.dwg (62.4 Кб, 740 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.03.2012, 15:45
#9
ledi


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


поразбираюсь с "хитрым блоком", очень интересно
ledi вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > trim и offset из сценария scr

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP для offset Positron LISP 19 02.01.2020 21:04
Express Tools Perezz!! AutoCAD 483 13.02.2015 10:57
Point Name, 3D offset и др. в Autodesk Land Desktop 2007 Re-Maker Вертикальные решения на базе AutoCAD 2 12.08.2014 10:19
AutoCAD2010 выдает 82 отчета об ошибке за раз Nusia AutoCAD 22 29.08.2012 16:11
Помогите разобраться с projmode, edgemode и trim Андрей Будзинский AutoCAD 10 19.01.2011 17:00