Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Klicken auf ein Layer blendet diesen ein/aus, dazu würde ich noch das icon wechseln lassen
Wenn man ein oder mehrere Teil selektiert hat und dann den Layer klickt, kann man mit den Buttons das Teil in den Layer aufnehmen oder wegnehmen.
Braucht man noch andere Methoden?
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Huhu, unnötige Entwicklungsarbeit kostet pauschal eine Kiste Bier. Vielleicht kann dich Chris noch retten. Untergruppen gehen jetzt auch. Siehe Bild.freecad-heini-1 wrote: ↑Tue Oct 23, 2018 7:37 am Ob mein Vorschlag mit dem Verschieben der "Layer" an den Anfang des Modellbaumes des Weisheits letzter Schluss ist, kann ich nicht sagen, mittlerweile denke ich aber eher nicht. Wir benötigen irgend eine grafische Lösung, damit Layer schnell und einfach ein- und ausgeschaltet werden können, sowie Features und Teile zugeordnet werden können.
Ein Reiter im Modellbaum ist nicht so schlecht.
Wer hat weitere Ideen?
Sollte man das im Englischen Forum diskutieren?
Die Lösung sieht doch schon gut aus. Hast du dazu auch schon etwas Code?microelly2 wrote: ↑Tue Oct 23, 2018 10:14 am ...
Das wäre ein dockbarer Dialog mit treewidget.
Klicken auf ein Layer blendet diesen ein/aus, dazu würde ich noch das icon wechseln lassen
Wenn man ein oder mehrere Teil selektiert hat und dann den Layer klickt, kann man mit den Buttons das Teil in den Layer aufnehmen oder wegnehmen.
Braucht man noch andere Methoden?
- Attachments
-
- MoveTreeItems2.gif (41.25 KiB) Viewed 1124 times
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Die CombiView zu erweitern geht recht simpel:
Weiß einer was mit der auskommentieren projectView geplant war?
https://github.com/FreeCAD/FreeCAD/blob ... ew.cpp#L83
Code: Select all
from PySide import QtGui
mw=Gui.getMainWindow()
tab = mw.findChild(QtGui.QTabWidget, u'combiTab')
layer = QtGui.QTreeView()
tab.addTab(layer,u'Layer')
https://github.com/FreeCAD/FreeCAD/blob ... ew.cpp#L83
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Das sieht gut aus! Mich wundert es etwas, dass das Thema Layer und View-Manager bisher nicht von großem Interesse war.Gift wrote: ↑Tue Oct 23, 2018 12:04 pm Die CombiView zu erweitern geht recht simpel:
Code: Select all
from PySide import QtGui mw=Gui.getMainWindow() tab = mw.findChild(QtGui.QTabWidget, u'combiTab') layer = QtGui.QTreeView() tab.addTab(layer,u'Layer')
Oder habe ich das nur übersehen und irgendwo gibt es einen umfangreichen Thread zum Thema?
Damit kann ich irgendwie gar nichts anfangen. Das sieht nach Windows aus, aber wie das in Freecad auftauchen soll, keine Ahnung, leider.
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Ein paar Objekt selektieren und Skript starten.
Nebenbei bemerkt: ich habe in meiner miki-Bilbiothek es generell vorgesehen, dass jeder Dialog alterantiv in 3 Formen erscheinen kann:
Main Window, DockWindow oder als Tab im Combo View.
Da kann dann jeder machen, was er will und wir sparen uns die Diskussion, wohin das Teil soll.
Code: Select all
import sys, os, random
from PySide.QtCore import *
from PySide.QtGui import *
class TreeTest(QTreeWidget):
def __init__(self, parent = None):
super(TreeTest, self).__init__(parent)
self.setHeaderLabel("Folders")
# self.setColumnCount(3)
# self.setHeaderLabels(["Folders","Description","Count"])
actionEdit = QAction("New Folder", self)
actionEdit.triggered.connect(self.addItemAction)
self.setContextMenuPolicy(Qt.ActionsContextMenu)
self.addAction(actionEdit)
actionDelete = QAction("Delete", self)
actionDelete.triggered.connect(self.deleteItem)
self.addAction(actionDelete)
self.style()
def addItem(self, name, parent):
self.expandItem(parent)
item = QTreeWidgetItem(parent)
item.setText(0, name)
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled | Qt.ItemIsEditable)
icons=[QStyle.SP_ComputerIcon,QStyle.SP_DriveDVDIcon,QStyle.SP_DriveFDIcon]
icon=icons[random.randint(0,len(icons)-1)]
item.setIcon(0,self.style().standardIcon(icon))
return item
def addItemAction(self):
parent = self.currentItem()
if parent is None:
parent = self.invisibleRootItem()
new_item = self.addItem("New Folder", parent)
self.editItem(new_item)
def deleteItem(self):
root = self.invisibleRootItem()
for item in self.selectedItems():
(item.parent() or root).removeChild(item)
#---------------------------------------
def loadAllMessages(*folder):
FreeCAD.Console.PrintMessage("hu\n")
getSelected = treeWidget.selectedItems()
if getSelected:
baseNode = getSelected[0]
getChildNode = baseNode.text(0)
FreeCAD.Console.PrintMessage("this is " + str(getChildNode) + "\n")
def printer( treeItem ):
foldername = treeItem.text(0)
comment = treeItem.text(1)
data = treeItem.text(2)
FreeCAD.Console.PrintMessage("\n"+foldername + ': ' + comment + ' (' + data + ')\n')
test = QWidget()
treeWidget = TreeTest()
layout = QVBoxLayout()
layout.addWidget(treeWidget)
test.setLayout(layout)
test.show()
bt_1 = QPushButton("Add selection to Layer")
layout.addWidget(bt_1)
bt_1 = QPushButton("Remove selection from Layer")
layout.addWidget(bt_1)
bt_1 = QPushButton("Hide all Layers")
layout.addWidget(bt_1)
treeWidget.itemSelectionChanged.connect(loadAllMessages)
treeWidget.itemClicked.connect( lambda : printer( treeWidget.currentItem() ) )
# buttons im baum
# https://blog.manash.me/quick-qt-6-how-to-add-qpushbutton-or-widgets-to-a-qtreewidget-as-qtreewidgetitem-2ae9f54c0e5f
def addChildren(item,s):
for c in s.ViewObject.claimChildren():
itemc=treeWidget.addItem(c.Label, item)
addChildren(itemc,c)
for s in Gui.Selection.getSelection():
print s
item = treeWidget.addItem(s.Label, treeWidget.invisibleRootItem())
item.fcob=s
addChildren(item,s)
#----------------------
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Der OpenCASCADE Cad Prozessor 1.0 hat jetzt Shrink Wrapping:
https://forum.freecadweb.org/viewtopic. ... 95#p262495
Quelle:
https://www.opencascade.com/content/cad ... 0-released
https://forum.freecadweb.org/viewtopic. ... 95#p262495
Quelle:
https://www.opencascade.com/content/cad ... 0-released
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Das ist aber immer noch im kommerrziellen Produkt eingebettet.freecad-heini-1 wrote: ↑Fri Nov 29, 2019 9:49 am Der OpenCASCADE Cad Prozessor 1.0 hat jetzt Shrink Wrapping:
Die Beschreibung des Verfahrens ist klar, aber man muss es frei nochmal implementieren oder übersehe ich da was?
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Nein, Du übersiehst nichts. Ob das irgendwann mal frei zur Verfügung für Freecad stehen wird?!? Wäre cool.microelly2 wrote: ↑Fri Nov 29, 2019 10:10 amDas ist aber immer noch im kommerrziellen Produkt eingebettet.freecad-heini-1 wrote: ↑Fri Nov 29, 2019 9:49 am Der OpenCASCADE Cad Prozessor 1.0 hat jetzt Shrink Wrapping:
Die Beschreibung des Verfahrens ist klar, aber man muss es frei nochmal implementieren oder übersehe ich da was?
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
Draft Layer:
https://www.freecadweb.org/wiki/Draft_Layer
Beispieldatei: Eine neue Spielwiese um wichtige gleichartige Konstruktionselemente und Sketche auf einen Layer legen zu können, z.B. zum Steuern eines 3D-Modells. Die Layer sind im Modellbaum ganz oben, deswegen leicht zu finden und die darin enthaltenen Features kann man leicht erreichen. Man spart sich das mühsame Suchen im Modellbaum, bei komplexen Modellen.
@hammax - glaub das könnte Dir gefallen.
https://www.freecadweb.org/wiki/Draft_Layer
Beispieldatei: Eine neue Spielwiese um wichtige gleichartige Konstruktionselemente und Sketche auf einen Layer legen zu können, z.B. zum Steuern eines 3D-Modells. Die Layer sind im Modellbaum ganz oben, deswegen leicht zu finden und die darin enthaltenen Features kann man leicht erreichen. Man spart sich das mühsame Suchen im Modellbaum, bei komplexen Modellen.
@hammax - glaub das könnte Dir gefallen.
Re: Layer, Folien, vereinfachte Darstellung - welche Möglichkeit gibt es in Freecad?
bin durch zufall auf den post gestossen ...
Draft_Layer und Arch_Axis aber ich hab keine ahnung wie gut die mit Part und PartDesign zusammenarbeitenfreecad-heini-1 wrote: ↑Tue Oct 16, 2018 8:17 am Layer gibt es meines Wissens nach bisher gar nicht in Freecad, oder doch?
Mal eben alle Achsen ausblenden mit einem Tastenkürzel, gibt es das in Freecad?