NANOCAD ШОУ
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

Команда Trim не выполняется в AutoLisp

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 15.05.2015, 19:16 #1
Команда Trim не выполняется в AutoLisp
OleKh
 
Регистрация: 15.05.2015
Сообщений: 4

OleKh вне форума Вставить имя

Делаю контрольную.
Требуется создать чертеж программно.
Команда Trim в AutoCAD выполняется, а через AutoLisp частично.
Проверяю по координатам в AutoCAD - обрезает, а программно нет.
Подскажите пожалуйста кто знает, как исправить ошибку?

Команда: _.TRIM
Текущие установки: Проекция=ПСК, Кромки=Без продолжения
Выберите режущие кромки ...
екущие установки: Проекция=ПСК, Кромки=Без продолжения
Выберите режущие кромки ...
Выберите объекты или <выбрать все>: найдено: 1
Выберите объекты:
Выберите обрезаемый (+Shift -- удлиняемый) объект или
[Линия/Секрамка/Проекция/Кромка/уДалить/Отменить]:
Объект не пересекает кромку.



Код:
[Выделить все]
 
(defun c:trim () ; 

 (command "_.CIRCLE" P "_D" (/ D2 2))
(setq s3 (entlast))

(command "_.CIRCLE" P "_D" D2)
(setq s4 (entlast))
    
(command "_.TRIM"  s4 s3  ""
	   '(110 203)
	   '(110 196)
	   '(114 200)
	   '(106 200)	    
	 "")

  (command "_.ERASE" s3 "")
  (command "_.ERASE" s4 "")
  
)




Последний раз редактировалось OleKh, 17.05.2015 в 11:15.
Просмотров: 2528
 
Непрочитано 15.05.2015, 19:27
1 | #2
Кулик Алексей aka kpblc
Moderator

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


А вручную эти действия выполняются?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 15.05.2015, 19:33
#3
OleKh


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


да, вот с этим очень долго возился,
и так и сяк, программно ни в какую,
тут 2 окружности выделяются и между ними линии отрезаются

решил оставить т.к. это была последняя команда,
но когда подгружаю через VB,
теперь и другие команды Trim перестали выполняться,
по точкам проверил, вроде бы как координаты в линию показывают


Код:
[Выделить все]
 
(command "_.TRIM"  s4 s3  ""
   '(110 203)   
 "")
OleKh вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 15.05.2015, 19:41
1 | #4
Кулик Алексей aka kpblc
Moderator

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


А привязку точно снял перед вызовом _.trim?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 15.05.2015, 20:17
#5
OleKh


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


сделал по примеру программы,
(command "_.OSNAP" "_nearest")

в этот код проверочный и не выполняется,
а по координатам вручную выполняется

Код:
[Выделить все]
 

(defun c:test () ;


(setq D1 50.0)
(setq R1 (/ D1 2))
    
(setq D2 10.0)
(setq R2 (/ D2 2))

(command "_.OSNAP" "_none")
  
(setq P '(110 200))
(command "_.CIRCLE" P "_D" D1)
(setq s (entlast))  
(setq XP (car P) YP (cadr P))
  
(command "_.CIRCLE" P "_D" D2)
(setq s1 (entlast))

(command "_.XLINE" P (list XP (- YP 50)) (list (- XP 50) YP)  "")
							  
(command "_.XLINE" "_O"	R2 (list (+ XP 10) YP ) (list XP (+ YP R2))
	 (list (+ XP 10) YP ) (list XP (- YP R2))  "")


(command "_.CIRCLE" P "_D" (/ D2 3))
(setq s3 (entlast))
 
(command "_.TRIM" s1 s3 "" '(110 203) "")
  

)


Последний раз редактировалось OleKh, 17.05.2015 в 11:15.
OleKh вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 15.05.2015, 20:21
#6
OleKh


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


----- добавлено через ~2 ч. -----
Код:
[Выделить все]
 
(command "_.TRIM" s1 s3 "" '(110 203) "")
заменил переменные s1, s3 на координаты, вроде бы на проверочном получилось

Последний раз редактировалось OleKh, 15.05.2015 в 22:33.
OleKh вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 10:29
#7
tujn08


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


не могу найти описание _.TRIM по lisp

есть полиния, она два раза пересекает прямоугольник. Надо обрезать все, что лежит внутри прямоугольника

----- добавлено через ~7 ч. -----
В рамках необходимого разобрался.
Щас проблема:
обрезает с отступом 10 от секущей линии. Как отключить отступ? Зуммировать?

----- добавлено через ~7 ч. -----
Ааа.. мой косяк похоже. Пока вопрос не актуален
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 12:40
#8
tujn08


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


Заходя дальше: как обрезать только нужные объекты не указывая точки на них?. Есть чертеж, есть линия, на чертежи указываем прямоугольник. должна обрезаться только линия.
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 12:56
#9
Кулик Алексей aka kpblc
Moderator

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


1. Смотри опции команды _.trim - там есть вариант _f (_fence).
2. Лично я попробовал бы все сделать только на математике, без применения командных методов.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 13:38
#10
tujn08


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


как смотреть команды? у меня рус. версия
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 16:52
#11
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,072


tujn08, например, в справке для английской версии.
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 22:14
#12
tujn08


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


нет там описаний, тех которых можно применить к trim. Только саму команду.
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.07.2017, 22:50
#13
Кулик Алексей aka kpblc
Moderator

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


Да ну???
Цитата:
Fence

Selects all objects that cross the selection fence. The selection fence is a series of temporary line segments that you specify with two or more fence points. The selection fence does not form a closed loop.
А также была тема "Tips and Tricks" на этом форуме - советую поискать.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 05:47
#14
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,072


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Смотри опции команды _.trim - там есть вариант _f (_fence).
Цитата:
Сообщение от tujn08 Посмотреть сообщение
как смотреть команды? у меня рус. версия
Цитата:
Сообщение от skkkk Посмотреть сообщение
например, в справке для английской версии
Я полагал, что вопрос об опциях команды, которые предпочтительно писать на английском с подчеркиванием с целью поддержки любых языковых локализаций.

Тогда я не понял, что нужно.
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 10:43
#15
tujn08


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Да ну???
Я не про такую справку.

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от skkkk Посмотреть сообщение
вопрос об опциях команды
Я хотел бы справку от опциях нужной мне команды.

----- добавлено через ~10 мин. -----
вот еще вопрос появился.
Прямоугольником усекаю линию за пределами - ни чего не происходит.
Стоит сдвинуть линию вручную- она усекается.

Код:
[Выделить все]
 
(setq xtri (vlax-curve-getPointAtParam trim_vla_line ti)) ; взял координаты вершины (вне прямоугольника) линии
(command "_.trim" (vlax-vla-object->ename old_vla_rec) "" xtri "") ; обрезаю линию прямоугольником
прямоугольник полностью виден на экране, привязки отключены
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 10:54
#16
Кулик Алексей aka kpblc
Moderator

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


... и вспоминаем про размер прицела, привязки и прочие грабли.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 10:54
#17
tujn08


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


добавлю: радом находится другая линия на расстоянии 10
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 10:55
1 | 1 #18
Кулик Алексей aka kpblc
Moderator

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


Добавлю: что выводится в ком.строке:
Код:
[Выделить все]
Command: TRIM
Current settings: Projection=UCS, Edge=None
Select cutting edges ...
Select objects or <select all>: Specify opposite corner: 2 found

Select objects:

Select object to trim or shift-select to extend or
[Fence/Crossing/Project/Edge/eRase/Undo]:
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 10:58
#19
tujn08


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


помогло зуммирование точки на линии
спс.

----- добавлено через 57 сек. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
что выводится в ком.строке:
Вооот.... не хватает англ версии.
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 11:09
#20
Кулик Алексей aka kpblc
Moderator

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


tujn08, а кто мешает поставить английский языковой пакет?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Команда Trim не выполняется в AutoLisp

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание дополнительных параметров Visibility Set в динамических блоках. Supermax Программирование 637 27.07.2017 19:59
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 669 24.03.2017 20:16
Что означает сообщение "Для документа ... выполняется команда. Нажмите Enter или Повторить?" МишаИнженер AutoCAD 6 16.06.2015 19:04
Преобразование полей в текст YuraVel AutoCAD 17 14.04.2015 14:30
ACAD-2002. Глюк начальной загрузки ЛИСП? ===AAA=== LISP 27 31.08.2005 07:58

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


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