/
Team8
/
kittycad
Обзор
Документация
Войти
/
Team8
/
kittycad
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/data/solids/thread.h
44 строки
2 KB
levovix
fix: simplified thread displaying for dependant objects
09 янв 2026, 23:44
09 янв 2026, 23:44
0008553
Код
Авторство
О чём код?
#pragma once #include "data/typedefs.h" #include "data/serialization.h" #include "data/c3dobject.h" #include "data/solids/solid.h" struct Mesh; namespace VSN { class SceneSegment; } namespace data { struct Thread : Solid { IMPLEMENTS_ISerializable(auto) Thread(); ~Thread(); ref<Solid> targetSolid{}; bool simple{true}; // если true - резьба условная (отображается, но (почти) не влияет на само тело) Point3 origin{0, 0, 0}; // начало цилиндра резьбы Vec3 axis{0, 0, 1}; // (вектор) оси вращения double diameter{3}; // диаметр стандарта резьбы (совпадающий со значением в записи M3, M4 и т.п.) double length{4}; // длинная резьбы (высота цилиндра резьбы) // если false, вырезает резьбу во внуть внешней стенки цилиндра (частично обрезает targetSolid), // если true, добавляет резьбу наружу отверстия (ничего не вырезает в targetSolid) double isHole{false}; // todo: автофаска // owned<Mesh> threadMesh DONT_SERIALIZE; // todo std::vector<WorldPoint3> spiralWireframePoints DONT_SERIALIZE; SPtr<MbWireFrame> spiralCurve DONT_SERIALIZE; SPtr<MbSolid> spiralSolid DONT_SERIALIZE; void buildSolid() override; std::string_view iconName() const override; Tool* newTool(QWidget* parent) override AUTO(ThreadTool); SERGEN_INCLUDE("gui/tools/solids/thread.h") }; }