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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Рисование c помощью циклических операций (repeat

Рисование c помощью циклических операций (repeat

Ответ
Поиск в этой теме
Непрочитано 12.04.2011, 22:35 #1
Рисование c помощью циклических операций (repeat
alexander3
 
москва
Регистрация: 12.04.2011
Сообщений: 6

здравствуйте товарищи! помогите с написанием программы на autolisp. рисунок прилагаю. в программе должно задаваться число "перекрестий", а размноживание их должно производиться с помощью операции repeat.
спасибо.

Вложения
Тип файла: dwg
DWG 2007
Drawing1.dwg (40.8 Кб, 545 просмотров)

Просмотров: 4087
 
Непрочитано 13.04.2011, 06:03
#2
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Цитата:
Сообщение от alexander3 Посмотреть сообщение
в программе должно задаваться число "перекрестий"
А диаметры окружностей, "ширина" перекрестия задаваться не должны?
E-degtyarev вне форума  
 
Непрочитано 13.04.2011, 19:13
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Что сложного-то?
gomer вне форума  
 
Автор темы   Непрочитано 13.04.2011, 23:01
#4
alexander3


 
Регистрация: 12.04.2011
москва
Сообщений: 6


диаметры и ширина должны задаваться. просто размножить в ряд могу, а по кругу с поворотом угла вообще не втыкаю как сделать.
alexander3 вне форума  
 
Непрочитано 14.04.2011, 06:04
#5
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от alexander3 Посмотреть сообщение
просто размножить в ряд могу, а по кругу с поворотом угла вообще не втыкаю как сделать.
Значит с построением кружков и двух пересекающихся линий проблем нет?
Остаётся только размножить по кругу?
Если это единственная цель всей программы то посмотри команду МАССИВ(_array).
Если всё же надо программно, то:
  • либо (command "_-array" ... ,
  • либо (vla-ArrayPolar ...,
  • либо открывать учебник по геометрии и вычислять все построения врукопашную.
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 15.04.2011, 10:40
#6
alexander3


 
Регистрация: 12.04.2011
москва
Сообщений: 6


размножит по кругу надо с помощью команды repeat с указанием угла поворота. как это сделать? подскажите.
и если не сложно, то напишите полностью программу.
alexander3 вне форума  
 
Непрочитано 15.04.2011, 10:46
#7
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
Сообщение от alexander3 Посмотреть сообщение
размножит по кругу надо с помощью команды repeat с указанием угла поворота. как это сделать? подскажите.
и если не сложно, то напишите полностью программу.
Такие функции уже были написаны - надо только поискать
Modis вне форума  
 
Непрочитано 15.04.2011, 11:24
#8
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от alexander3 Посмотреть сообщение
с помощью команды repeat
: crazy :
Это что, такое условие школьной задачи? repeat это как раз самое не принципиальное, что может быть в этом коде.
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 15.04.2011, 11:32
#9
alexander3


 
Регистрация: 12.04.2011
москва
Сообщений: 6


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

Последний раз редактировалось alexander3, 15.04.2011 в 13:21.
alexander3 вне форума  
 
Непрочитано 15.04.2011, 21:18
#10
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Ежели для учебных целей, может сгодится?
Код:
[Выделить все]
 (setq cen  (getpoint "\nТочка вставки")
      rad  (getdist cen "\nРадиус")
      kol  (getint "\nКоличество")
      shr  (getdist "\nШирина")
      vis  (getdist "\nВысота")
      ugol (/ (* 2 pi) kol)
      ang  0
    ) 
(vl-cmdf "_circle" "_non" cen rad)
(repeat	kol
  (setq	pt1 (polar cen ang (sqrt (- (* rad rad) (* 0.25 shr shr))))
	pt2 (polar pt1 (+ ang (* pi 0.5)) (* shr 0.5))
	pt3 (polar pt1 (- ang (* pi 0.5)) (* shr 0.5))
	pt4 (polar pt2 (+ ang pi) vis)
	pt5 (polar pt3 (+ ang pi) vis)
	ang (+ ang ugol)
  ) 
  (vl-cmdf "_line" "_non" pt2 "_non" pt5 "")
  (vl-cmdf "_line" "_non" pt3 "_non" pt4 "")
) 

Последний раз редактировалось E-degtyarev, 16.04.2011 в 13:57.
E-degtyarev вне форума  
 
Автор темы   Непрочитано 15.04.2011, 23:14
#11
alexander3


 
Регистрация: 12.04.2011
москва
Сообщений: 6


E-degtyarev, спасибо, очень помог! но только перекрестиями заполняется не весь круг (см. прикрепленный файл) из-за чего это может быть. и ещё точки р1 и р2 это верх и низ наклонной линии?
Вложения
Тип файла: dwg
DWG 2007
Drawing1.dwg (51.0 Кб, 520 просмотров)
alexander3 вне форума  
 
Непрочитано 16.04.2011, 06:58
1 | #12
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Цитата:
Сообщение от alexander3 Посмотреть сообщение
из-за чего это может быть.
Вероятно у тебя включены привязки. Немного подправил текст в #10- наставил "_non" для их принудительного отключения.
А насчет точек - это уж сам разберись. Должен же ты сам что-нибудь сделать? А то стопроцентная халява получается. Извини, не люблю, когда "на чужом горбу в рай въезжают".

PS: А зачем тебе круги диаметром 20 километров? Пришельцев встречать надумал?

Последний раз редактировалось E-degtyarev, 16.04.2011 в 07:25.
E-degtyarev вне форума  
 
Автор темы   Непрочитано 16.04.2011, 17:24
#13
alexander3


 
Регистрация: 12.04.2011
москва
Сообщений: 6


разобрался, спасибо!
alexander3 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Рисование c помощью циклических операций (repeat



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование таблиц из "старых" версий в таблицы AutoCAD 2008 cancercat AutoCAD 43 24.10.2024 14:38