|
|
|
3D графика в Lazarus29.10.2017, 22:06. Показов 11991. Ответов 83
Метки нет (Все метки)
Такое дело, написал тулзу успешно, конические шестерни печатает, в общем она просто вносит корректировку в G-код.
Но аппетиты растут, после русификации, для себя и 3dtoday чисто, Kisslicer 1.5 отруссифицировал, но что-то обламываюсь руссифицировать 1.6, есть задумка, точнее - огромное желание, и алгоритмы генерации свои тоже есть, написать свой слайсер. Всё это дело я собираюсь состряпать между основными своими делами, которыми сейчас занят. Ну и вопрос снижения трудозатрат. Вопрос такой - допустим я научился визуализировать STL модель в окне программы соответствующем. А можно получить с этого отображения имеющимися средствами GLUT или другими, сечение модели, проходящее в координатах X,Y, на высоте Z? Мне это сильно сократит работу, раз в 10 наверное. Заранее благодарен. Добавлено через 53 минуты Теоретически можно, нужно только удалить камеру на определённое расстояние сверху, и задать ей дальность отображения и расстояние на котором модель будет прозрачной - будет получен контур...но тогда станет неясно, где внутреннее пространство контура, а где наружнее. В общем это вопрос к спецам конечно. Слайсер нужен свой позарез.
0
|
|
| 29.10.2017, 22:06 | |
|
Ответы с готовыми решениями:
83
Lazarus - Компьтерная графика Lazarus - Компьютерная графика Создание графика в Lazarus |
|
|
|
| 11.03.2022, 20:19 [ТС] | |
|
выключил в инспекторе объектов онпаинт , а в отладке всё равно работает. виндовс одним словом. полный виндовс. я даже не желаю разбираться что с ним у меня не так.
это запущено в отладчике, мне нет смысла лгать. сели не верите - убедитесь через удалённого помошника. я пока подожду 3 минуты, не стану выключать Lazarus и windows.
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|||
| 11.03.2022, 20:26 | |||
|
Добавлено через 4 минуты И то, что присвоено вручную подменяет то, что указано в инспекторе объектов. То есть, создали обработчик в инспекторе объектов, вписали туда код, а потом в OnCreate формы переопределили обработчик - будет работать тот последний.
0
|
|||
|
|
||||||||||||||
| 11.03.2022, 20:43 [ТС] | ||||||||||||||
|
я скопировал код, при компиляции выскочила ошибка, тогда я нажал в инспекторе объектов онпаинт, что делал всегда. откомпилировалось и запустилось. тогда я отключил онапинт в инспекторе объектов - и оно всё равно рабтает. Добавлено через 1 минуту А нет, там нет процедуры вот этой
в примере этого нет. но что интересное, что когда я отключаю это в инспекторе объектов - оно работает всё равно, так как есть в коде. вот код примера Кликните здесь для просмотра всего текста
я сейчас посмотрю как это в линукс. в общем я выхожу с windows.
0
|
||||||||||||||
|
|
||||||
| 11.03.2022, 20:55 [ТС] | ||||||
|
А вот как это выглядит в Linux
Кликните здесь для просмотра всего текста
0
|
||||||
|
|
|
| 11.03.2022, 21:11 [ТС] | |
|
в виндовс вообще левая пустая процедура, и без неё никак. и соответственно код, и в инспекторе объектов разное.
ну в общем как-то так. и если я в инспекторе объектов в виндовс отключаю онпаинт - то всё равно работает. хотя может оно и должно работать. но в общем по разному, и в линукс правдоподобнее - без лепнины лишней в коде. поэтому уж если что-то делать, то я лучше в линукс буду это делать.
0
|
|
|
|
|
| 12.03.2022, 11:41 [ТС] | |
|
Есть небольшой вопрос.
Создаю на этой форме TPageControl, перетаскиваю в инспекторе объектов в него компонент TOpenGLControl, собираю проект, но увы - треугольник рисуется на всю форму. Это вообще реализуемо?
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 12.03.2022, 12:01 | |
|
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||||||
| 12.03.2022, 13:03 | ||||||
|
Hretgir, что-то, проект не открывается в Lazarus под Windows...
В процедуре OnFormCreate надо почистить:
1
|
||||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||||||
| 12.03.2022, 13:24 | ||||||
|
Hretgir, точно, это же ты создаёшь новый TOpenGLControl, не смотря на то, что на форме, вернее, на TabSheet1 уже есть один.
Вот так можно попробовать:
0
|
||||||
|
|
||||
| 12.03.2022, 15:20 [ТС] | ||||
|
попробую, но больше похоже что не нужно это
GLBox.Align := alClient; Добавлено через 5 минут //OpenGLControl1.Invalidate; - вообще никакой роли не сыграло //GLBox.Align := alClient; - открыло в левом верхнем углу игнорировав TPageControl У меня такое ощущение что надо где-то привязать к странице. Добавлено через 11 минут
Добавлено через 1 час 35 минут
0
|
||||
|
|
||
| 12.03.2022, 15:31 [ТС] | ||
|
Кликните здесь для просмотра всего текста
procedure TForm1.FormCreate(Sender: TObject);
begin GLbox := TOpenGLControl.Create(Self); GLbox.AutoResizeViewport := true; GLBox.Parent := Self; GLBox.MultiSampling := 4; GLBox.Align := alClient; GLBox.Parent :=TabSheet1;//----------------------------------------------------------------------------------------------------вот это GLBox.OnPaint := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint" GLBox.invalidate;
0
|
||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||
| 12.03.2022, 15:39 | ||
|
Вот строка GLBox.Parent :=TabSheet1; теперь "селит" этот объект на TabSheet1. В дизайне на TabSheet уже стоит один объект TOpenGLControl под названием OpenGLControl1. А потом при запуске программы в рантайме создаётся второй объект GLBox типа TOpenGLControl и перекрывал собой всё, что есть на форме. О чём я и толкую уже которое сообщение.
1
|
||
|
|
|||||||
| 12.03.2022, 15:42 [ТС] | |||||||
|
Решения я не знал, оно найдено мной после обнаружения поисковиком вот этого
При запуске выводится сообщение 'Class "TOpenGLControl" not found'
0
|
|||||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||||||
| 12.03.2022, 15:45 | ||||||
Сообщение было отмечено Hretgir как решение
Решение
Вот этот код нормально работает. Не надо вручную создавать ничего, просто в design-time поставить на форму TOpenGLControl и всё:
1
|
||||||
| 12.03.2022, 15:45 | |
|
Установка ZEOS в Lazarus, работа с PostgressSQL в Lazarus В чём разница между Lazarus Linux i386 RPM и Lazarus Linux i386 DEB Не инициализируется графика в Lazarus Рисование графика: обработка новых входящих данных и движение графика на форме Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|