|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Контур с округлением кратным 5
Регистрация: 25.06.2009
Сообщений: 147
|
||
Просмотров: 4019
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Что это было?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Это ежедневная работа робота по созданию контура заготовки на центр столярных изделий... резьба по дереву на станке ЧПУ...
А именно, резьба бывает разных размеров... Сейчас благодаря людям которые помогли -1 проблема... http://forum.dwg.ru/showthread.php?t=43089 и если будет решение и этой, тогда бомба... Просто заготовки столярам давать с цифрами например 11,5мм или 1382,3мм неправильно, или глупо, некто так делать не будет... поэтому округление будет просто находкой т.к. эти действия производятся в ручную, и в больших количествах ... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Positron, Я как то одному студенту писал (не бесплатно
![]() 1. Треугольник (в том числе прямоугольный, равносторонний и равнобедренный) 2. Ромб 3. Квадрат 4. Трапеция 5. Параллелограмм 6. Прямоугольник 7. Круг В твоем случае квадрат можно считать частным случаем прямоугольника, а можно и ромб с паралллелограммом туда присобачить. Так как это лабораторная, то код обильно снабжен комментариями. Это я к тому, что вся математика там есть, можно выкинуть ненужное и п.1 и 2 по твоему Т.З. практически готовы. У меня пока нет на это времени. Может кто-нибудь возьмется
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Спасибо, работает хорошо!
Вот есть еще вопрос какие цифре в лиспе поменять шоб кратность округления менять? типа не 5, а например 10...(к примеру 1385,3=1390, а не 1385) Может это мелочь но иногда будет полезно, вить 10 это 1 см... Если сложно и долго тогда не стоит мучатся, чуть пожее сам разберусь, дето после нового года думаю книгу по лиспам дочитаю ![]() для тех кому надо, комбинация макросов... ^C^C_obvod;\\\_test;5;l; -тут отступ 5 ^C^C_obvod;\\\_test;10;l; -тут отступ 10 |
|||
![]() |
|
||||
Цитата:
1) ввод кратности округления 2) запоминает и ввод по умолчанию предыдущего значения 3) зацикливание после ввода (defun c:geo_offset (/ offs okr prim sp t1 t2 t3 tc a b t1n t2n t3n t4n) (setq geo_offs (if geo_offs geo_offs 5 ) offs (getint (strcat "\nОтступ<" (itoa geo_offs) ">: ")) geo_offs (if offs offs geo_offs ) geo_okr (if geo_okr geo_okr 5 ) okr (getint (strcat "\nОкруглять до<" (itoa geo_okr) ">:")) geo_okr (if okr okr geo_okr ) ) (while (setq prim (entget (car (entsel "\nУкажите прямоугольник: " ) ) ) ) (setq sp (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) prim ) ) t1 (car sp) t2 (cadr sp) t3 (caddr sp) tc (polar t1 (angle t1 t3) (/ (distance t1 t3) 2)) a (* (fix (+ 0.5 (/ (+ (distance t2 t1) (* 2 geo_offs)) geo_okr))) (/ geo_okr 2) ) b (* (fix (+ 0.5 (/ (+ (distance t2 t3) (* 2 geo_offs)) geo_okr))) (/ geo_okr 2) ) t1n (polar (polar tc (angle t2 t1) a) (angle t3 t2) b) t2n (polar (polar tc (angle t1 t2) a) (angle t3 t2) b) t3n (polar (polar tc (angle t1 t2) a) (angle t2 t3) b) t4n (polar (polar tc (angle t2 t1) a) (angle t2 t3) b) ) (entmakex (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1) (cons 10 t1n) (cons 10 t2n) (cons 10 t3n) (cons 10 t4n) ) ) ) ) (princ "\nВызов команды: Geo_offset")
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 01.12.2009 в 20:36. Причина: убрал 0-ой вес линии |
||||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
токо 1-н момент немогу понять чото оно линии даёт толщину 0.00 в 2-х лиспах?(луче б по слою) |
|||
![]() |
|
||||
Цитата:
![]() Всё исправил перескачай
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Невозможно заштриховать контур, полученный сечением 3Д-тела | T-Yoke | AutoCAD | 7 | 21.09.2009 12:14 |
Как получить контур полилинии с различной шириной | Marina | AutoCAD | 5 | 26.12.2008 09:16 |
как с помощью vba восстановить контур штриховки | vasyavip | Программирование | 1 | 05.11.2008 21:36 |
Тела пересекаются, как нарисовать контур пересечения | BM60 | AutoCAD | 12 | 08.09.2008 11:09 |
При копир-ии или перемещ исчез контур детали ACAD2007eng | rus22 | AutoCAD | 1 | 10.09.2007 00:22 |