experiment with material clipping planes
This commit is contained in:
parent
8241b1608c
commit
3af830afe6
4 changed files with 99 additions and 2 deletions
1
notes.md
1
notes.md
|
|
@ -14,6 +14,7 @@
|
|||
* `P` do not move (average) endpoints connected to long lines in decimate
|
||||
* `P` explore widget vertex reloading / replacing (Onshape) (issue #48)
|
||||
* `P` faster ray intersect https://github.com/gkjohnson/three-mesh-bvh/
|
||||
* `P` try material clipping planes for slice range selection
|
||||
|
||||
* `F` edit in Mesh:Tool
|
||||
* `F` custom device vars for profiles / ranges / gcode
|
||||
|
|
|
|||
83
src/kiri-dev/fdm/Anycubic.Kobra
Normal file
83
src/kiri-dev/fdm/Anycubic.Kobra
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
"noclone": false,
|
||||
"mode": "FDM",
|
||||
"internal": 0,
|
||||
"bedHeight": 2.5,
|
||||
"bedWidth": 222,
|
||||
"bedDepth": 222,
|
||||
"bedRound": false,
|
||||
"bedBelt": false,
|
||||
"resolutionX": 1600,
|
||||
"resolutionY": 900,
|
||||
"maxHeight": 222,
|
||||
"originCenter": false,
|
||||
"extrudeAbs": false,
|
||||
"gcodeFan": [
|
||||
"M106 S{fan_speed}"
|
||||
],
|
||||
"gcodeTrack": [
|
||||
"M117 {progress}% layer {layer} / {layers}"
|
||||
],
|
||||
"gcodeLayer": [],
|
||||
"gcodePre": [
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"G28 ; home axes",
|
||||
"G1 F3000 ; set default move speed",
|
||||
"G1 Z1 F6000 ; pause above the bed",
|
||||
"M190 S{bed_temp} T0 ; wait for bed to reach target temp",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G92 E0 ; set extruder position to 0"
|
||||
],
|
||||
"gcodePost": [
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G91 ; relative movement",
|
||||
"G1 Z10 F1200 ; drop bed 10mm",
|
||||
"G90 ; absolute positioning",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"gcodeExt": [],
|
||||
"gcodeInt": [],
|
||||
"gcodeProc": "",
|
||||
"gcodePause": [],
|
||||
"gcodeDwell": [],
|
||||
"gcodeSpindle": [],
|
||||
"gcodeChange": [],
|
||||
"gcodeFExt": "gcode",
|
||||
"gcodeSpace": true,
|
||||
"gcodeStrip": false,
|
||||
"gcodeLaserOn": [],
|
||||
"gcodeLaserOff": [],
|
||||
"extruders": [
|
||||
{
|
||||
"extFilament": 1.75,
|
||||
"extNozzle": 0.4,
|
||||
"extSelect": [
|
||||
"T0"
|
||||
],
|
||||
"extDeselect": [],
|
||||
"extOffsetX": 0,
|
||||
"extOffsetY": 0
|
||||
}
|
||||
],
|
||||
"deviceName": "Anycubic Kobra",
|
||||
"fwRetract": false,
|
||||
"extras": {
|
||||
"palette": {
|
||||
"printer": "6c99ea036da",
|
||||
"ping": null,
|
||||
"feed": null,
|
||||
"push": null,
|
||||
"offset": null,
|
||||
"heat": null,
|
||||
"cool": null,
|
||||
"press": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -301,13 +301,16 @@ class Widget {
|
|||
const mesh = new THREE.Mesh(
|
||||
geometry, [
|
||||
new THREE.MeshPhongMaterial({
|
||||
side: THREE.DoubleSide,
|
||||
color: 0xffff00,
|
||||
specular: 0x202020,
|
||||
shininess: 125,
|
||||
transparent: true,
|
||||
opacity: solid_opacity
|
||||
opacity: solid_opacity,
|
||||
clipIntersection: false
|
||||
}),
|
||||
new THREE.MeshPhongMaterial({
|
||||
side: THREE.DoubleSide,
|
||||
color: 0x0088ee,
|
||||
specular: 0x202020,
|
||||
shininess: 100,
|
||||
|
|
@ -318,7 +321,7 @@ class Widget {
|
|||
mesh.renderOrder = 1;
|
||||
geometry.computeVertexNormals();
|
||||
geometry.addGroup(0, Infinity, 0);
|
||||
mesh.material[0].side = THREE.DoubleSide;
|
||||
// mesh.material[0].side = THREE.DoubleSide;
|
||||
mesh.castShadow = true;
|
||||
mesh.receiveShadow = true;
|
||||
mesh.widget = this;
|
||||
|
|
@ -380,6 +383,15 @@ class Widget {
|
|||
return this.mesh.material[0];
|
||||
}
|
||||
|
||||
setZClip(from, to) {
|
||||
let mat = this.getMaterial();
|
||||
mat.clippingPlanes = (from >= 0 && to >= 0) ? [
|
||||
new THREE.Plane(new THREE.Vector3(0, 1, 0), -from),
|
||||
new THREE.Plane(new THREE.Vector3(0, -1, 0), to),
|
||||
] : null;
|
||||
moto.space.refresh();
|
||||
}
|
||||
|
||||
isVisible() {
|
||||
return this.getMaterial().visible;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1231,6 +1231,7 @@ gapp.register("moto.space", [], (root, exports) => {
|
|||
preserveDrawingBuffer: true,
|
||||
logarithmicDepthBuffer: true
|
||||
});
|
||||
renderer.localClippingEnabled = true;
|
||||
camera = ortho ?
|
||||
new THREE.OrthographicCamera(-100 * aspect(), 100 * aspect(), 100, -100, 0.1, 100000) :
|
||||
new THREE.PerspectiveCamera(perspective, aspect(), 0.1, 100000);
|
||||
|
|
|
|||
Loading…
Reference in a new issue