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

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

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

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

Делаю контрольную.
Требуется создать чертеж программно.
Команда 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.
Просмотров: 10475
 
Непрочитано 15.05.2015, 19:27
1 | #2
Кулик Алексей aka kpblc
Moderator

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


А вручную эти действия выполняются?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей 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
С.-Петербург
Сообщений: 39,787


А привязку точно снял перед вызовом _.trim?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей 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
Сообщений: 284


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

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

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

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


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


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

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


1. Смотри опции команды _.trim - там есть вариант _f (_fence).
2. Лично я попробовал бы все сделать только на математике, без применения командных методов.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.07.2017, 13:38
#10
tujn08


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


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


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


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


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


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

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


Да ну???
Цитата:
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" на этом форуме - советую поискать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.07.2017, 05:47
#14
skkkk


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


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

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


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


Цитата:
Сообщение от Кулик Алексей 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
С.-Петербург
Сообщений: 39,787


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


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


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

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


Добавлю: что выводится в ком.строке:
Код:
[Выделить все]
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]:
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.07.2017, 10:58
#19
tujn08


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


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

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

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание дополнительных параметров Visibility Set в динамических блоках. Supermax Программирование 708 12.04.2021 14:54
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Что означает сообщение "Для документа ... выполняется команда. Нажмите 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