feat: Add sketch creation with plane selection, oriented grid and labeled axes
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
#include <QHBoxLayout>
|
||||
#include <QToolButton>
|
||||
#include <QIcon>
|
||||
#include <QInputDialog>
|
||||
#include <QStringList>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
@@ -34,6 +36,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
createSketchButton->setIcon(QIcon(":/icons/create-sketch.svg"));
|
||||
createSketchButton->setIconSize(QSize(48, 48));
|
||||
createSketchButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
||||
connect(createSketchButton, &QToolButton::clicked, this, &MainWindow::createSketch);
|
||||
solidLayout->addWidget(createSketchButton);
|
||||
|
||||
QToolButton *extrudeButton = new QToolButton();
|
||||
@@ -53,6 +56,25 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
QWidget *toolsTab = new QWidget();
|
||||
tabWidget->addTab(toolsTab, "TOOLS");
|
||||
|
||||
ViewportWidget *viewport = new ViewportWidget;
|
||||
setCentralWidget(viewport);
|
||||
m_viewport = new ViewportWidget;
|
||||
setCentralWidget(m_viewport);
|
||||
}
|
||||
|
||||
void MainWindow::createSketch()
|
||||
{
|
||||
QStringList items;
|
||||
items << "XY-Plane" << "XZ-Plane" << "YZ-Plane";
|
||||
|
||||
bool ok;
|
||||
QString item = QInputDialog::getItem(this, "Select Sketch Plane",
|
||||
"Plane:", items, 0, false, &ok);
|
||||
if (ok && !item.isEmpty()) {
|
||||
if (item == "XY-Plane") {
|
||||
m_viewport->startSketch(ViewportWidget::SketchPlane::XY);
|
||||
} else if (item == "XZ-Plane") {
|
||||
m_viewport->startSketch(ViewportWidget::SketchPlane::XZ);
|
||||
} else if (item == "YZ-Plane") {
|
||||
m_viewport->startSketch(ViewportWidget::SketchPlane::YZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user