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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как построить куб в который вписана выбранная сфера?

Как построить куб в который вписана выбранная сфера?

Ответ
Поиск в этой теме
Непрочитано 19.12.2013, 11:09 #1
Как построить куб в который вписана выбранная сфера?
Chip115
 
Регистрация: 22.12.2012
Сообщений: 18

Доброго времени суток!
Пытаюсь разобраться с лиспом. Пока не сильно получается.
В общем имеется сфера. Надо нарисовать "вокруг" сферы объем из которого (теоретически) эту сферу можно выточить.
В общем что-то набросал. Смысл такой.
Пытался вычислить максимальные и минимальные координаты и по ним начертить ящик.
Вышло как-то не очень. Почему-то вписалась только половина сферы, и то верхняя часть ящика выперает.
Помогите, пожалуйста, разобраться.
вот код.
Код:
[Выделить все]
 (vl-load-com)
(defun c:calc()
   (command "_view" "_SEISO")
   (setq MyObject (vlax-ename->vla-object (car(entsel))))
   (vla-GetBoundingBox MyObject 'minp 'maxp)
   (setq xyzmax	(vlax-safearray->list maxp) xmax (car xyzmax) ymax (cadr xyzmax) zmax (last xyzmax))
   (setq xyzmin	(vlax-safearray->list minp) xmin (car xyzmin) ymin (cadr xyzmin) zmin (last xyzmin))  
   (progn
   (command "_box" (list xmin ymin zmin) (list xmax zmax ymax)))  
)
Вот что получилось

Просмотров: 3435
 
Непрочитано 19.12.2013, 11:25
#2
Кулик Алексей aka kpblc
Moderator

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


1. Картинки лично я не вижу.
2. Привязки кто будет снимать?
3. По-быстрому, без включения головного мозга:
Код:
[Выделить все]
 (defun tt (/ ent _min _max)
  (if (setq ent (car (entsel)))
    (progn
      (vla-getboundingbox (vlax-ename->vla-object ent) '_min '_max)
      (setq _min (vlax-safearray->list _min)
            _max (vlax-safearray->list _max)
            ) ;_ end of setq
      (command "_box" "_none" _min "_none" (list (car _max) (cadr _max) (caddr _min)) "_none" _max)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.12.2013, 12:16
#3
Chip115


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


Спасибо за ответ. К сожалению ничего не изменилось.
Chip115 вне форума  
 
Непрочитано 19.12.2013, 12:21
#4
Кулик Алексей aka kpblc
Moderator

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


AutoCAD 2009 x64, AUtoCAD 2013 x64, AutoCAD 2014 x64 - срабатывает предсказуемо.

----- добавлено через 21 сек. -----
Уточнение: мой код срабатывает предсказуемо. Твой не проверял.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 21.12.2013 в 14:32.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.12.2013, 13:11
#5
Chip115


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


Блин. Это я дурак. Скобочку не там поставил ((( Черт.
Сработало! Спасибо. Буду курить лисп дальше.
Chip115 вне форума  
 
Непрочитано 21.12.2013, 13:34
#6
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,750
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
AutoCAD 2009 x64, AUtoCAD 2013 x64, AutoCAD 2041 x64 - срабатывает предсказуемо.
....
Неужели я так отстал от жизни и вышла версия автокада 2041
Алексей, успокой меня пожалуйста
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 21.12.2013, 14:32
#7
Кулик Алексей aka kpblc
Moderator

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


Господи, уже и опечататься нельзя... ) Конечно, 2014 имелся в виду.

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19