Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окружность по трём точкам 
V
    Опции темы
syoksana
Дата 17.2.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Привет, хочу в Lisp нарисовать окружно по 3 точкам (Ttr), но сначала проверить в AutoCad что-то не получается..
Код

Command: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: Ttr
Specify point on object for first tangent of circle: 4
*Requires a TAN object-snap and selection of Circle, Arc, or Line.
Specify point on object for first tangent of circle: 'VLIDE
 
PM MAIL   Вверх
VH_
Дата 17.2.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Добрый день!
Конференция CADUSER.RU пока грохнулась - если не возражаете, можно здесь общаться.
TTR - вариант построения круга не «по трем точкам», а по двум касательным и величине радиуса. Для его срабатывания требуются существующие объекты, контуры которых допускают применение объектной привязки TANgent(КАСательная) - к примеру, контур Эллипса это не позволяет. Если объектов нет, то и вариант этот нельзя применить.
лучше применять тег "код без подсветки".

Это сообщение отредактировал(а) VH_ - 17.2.2009, 18:48
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Привет!!!!! C удовольствием!!!

Цитата

 Если объектов нет, то и вариант этот нельзя применить.
лучше применять тег "код без подсветки".

Да, я это уже поняла, ну... не сразу, конечно)). В AutoCad нарисовала, но как в Lisp-e прописат? Вот я создаю две линии
Код

(command "_.LINE"  "0.0" "6.7" "")
(setq line1 (entlast))
(command "_.LINE" "2.4" "2.5" "")
(setq line2( entlast))
  
 Почему они у меня рисуются как-то страно? И ещё, как мне произвольно на линии выбрать точку, не мышкой, как в Cad, а .... т.е. всё, что я делаю в Сad прописать в Lisp? Используя команду command?

А что касается задачи с дугой, давайте отложим её на немножно? 

Это сообщение отредактировал(а) syoksana - 18.2.2009, 09:34
PM MAIL   Вверх
VH_
Дата 18.2.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Добрый день!
<жирным шрифтом!> В AutoCAD значения x y и z при вводе координаты точки разделяются <очень жирным шрифтом!> запятыми, а точкой разделяются целая и дробная часть числа.
Кроме того, в AutoCAD есть метод задания координат, который называется "направление - расстояние". При использовании этого метода пользователь в ответ на запрос координаты задает расстояние (то есть число), а направление, вдоль которого надо «отложить» это расстояние, определяется «резиновой линией» от предыдущей точки до графического курсора (так называется перекрестие). Поэтому Ваше якобы «неправильное» задание координат срабатывает (но, разумеется, не так как надо) - это насчет «странности рисования».
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Получилось, согласна, но почему в книге Н. Полещук указывает только точки? он их как списки указывает?
Вот, например, '(16.0 66.1) '(250.3 145.9) - ?
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Я тут поискала и нашла, как найти середину на отрезке, а любую точку выбрать на отрезке?
PM MAIL   Вверх
VH_
Дата 18.2.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Насчет списков мы конечно поговорим. А «как найти середину на отрезке»?
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



http://forum.vingrad.ru/forum/topic-226396.html
 smile 


!!! Я ЭТО НАРИСАВАЛА!!!!!!!
Код



(command "_.LINE"  "0,0" "6,7" "")
(setq line1 (entlast))
(command "_.LINE" "2,4" "2,7" "")
(setq line2( entlast))
(command "_.CIRCLE"  "TTR" "3,4" "2,6" "1")

  оказывается как всё просто...

Это сообщение отредактировал(а) syoksana - 18.2.2009, 11:32
PM MAIL   Вверх
VH_
Дата 18.2.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Там же у него неправильно - не «... делить на 2», а «2 поделить на...» - осторожно!
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Да это я... надо просто прописать... командами, не надо искать вручну, а просто указать..
а вот ещё вопросик, как мне построить окружность по методу ТТТ  - каксательная, касательная, касательная.
Прочитала, что ТТТ - в командной строке не доступен, создаю три линии, вызываю CIRCLE, А КАК ДАЛЬШЕ????

Обратите внимание, что в Home обращаться не надо....

И ещё вопросик как работать  текстовыми файлами??? создание, открытие, запись, закрытие???

И вот ещё я тут накалякала smile 
Код

(command "_.CIRCLE" "0,0" "5"); 
(setq c_r (entlast))
 (setq data1 (entget c_r));


(command "_.CIRCLE" "0,0" "D" "3"); 
(setq c_d (entlast))
 (setq data2 (entget c_d));


(command "_.LINE"  "0,0" "6,7" ""); 
(command "_.LINE" "2,4" "2,7" "")
(setq line2( entlast))
(command "_.CIRCLE"  "TTR" "3,4" "2,6" "1")
(setq c_ttr (entlast))
(setq data3 (entget c_ttr ));


(Command "_.CIRCLE" "2P" "1,3" "5,3" );
 (setq 2point (entlast))
 (setq data4 (entget 2point));


(Command "_.CIRCLE" "3P" "1,1" "11,1" "18,2");
 (setq 3point (entlast))
(setq data5 (entget 3point));


и хочу всё загнать в функцию, какую лучше? просто вызова? и в результате вывести, как очтёт... только я ещё не пойму, какой результат этот отчёт должен возвращать smile  
установила аську)) ни разу ей не пользовалась)) ща буду пробывать))

Это сообщение отредактировал(а) syoksana - 18.2.2009, 12:44
PM MAIL   Вверх
VH_
Дата 18.2.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Дальше включаете объектную привязку TANgent(КАСательная) и поочередно указываете на существующие объекты.
«...Home обращаться не надо...» - это про что?

Это сообщение отредактировал(а) VH_ - 18.2.2009, 13:03
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



что он от меня хочет?
Код

Command: C
CIRCLE Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: TANgent
to

указать поочерёдно объекты не получается
PM MAIL   Вверх
VH_
Дата 18.2.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Вариант построения круга по трем касательным является подвариантом построения по трем точкам (каждая из точек - точка касания к существующему объекту). Следовательно, по запросу команды _CIRCLE следует выбрать вариант с ключевым словом _3P, а затем применять объектную привязку TANgent при каждом запросе координат точки на круге.
Код

Command: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 3P
Specify first point on circle: TANgent
to <указать точку на контуре>
Specify second point on circle: TANgent
to <указать точку на контуре>
Specify third point on circle: TANgent
to <указать точку на контуре>



Это сообщение отредактировал(а) VH_ - 18.2.2009, 14:21
PM MAIL   Вверх
syoksana
Дата 18.2.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



Даааааааааа....)))))))))
Рисуется!!!!!!!!!!!!!!!!!!!

СПАСИБКИ))

Это сообщение отредактировал(а) syoksana - 18.2.2009, 14:25
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0792 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.