Znaleziono 3 wyniki

autor: pitsa
12 sie 2020, 20:36
Forum: LinuxCNC (dawniej EMC2)
Temat: dodatkowy widok z góry
Odpowiedzi: 2
Odsłony: 2072

Re: dodatkowy widok z góry

W .axisrc wystarczy dopisać tylko jedną linijkę:

Kod: Zaznacz cały

commands.set_view_z2()
Dla wygody poruszania strzałkami można odwrócić ich działanie,
tak aby kierunek poruszania był zgodny z widokiem z2, dopisując do .axisrc:

Kod: Zaznacz cały

root_window.bind("<Left>", lambda e: jog_on(0, +get_jog_speed(1)))
root_window.bind("<KeyRelease-Left>", lambda e: jog_off(0))

root_window.bind("<Right>", lambda e: jog_on(0, -get_jog_speed(1)))
root_window.bind("<KeyRelease-Right>", lambda e: jog_off(0))

root_window.bind("<Up>", lambda e: jog_on(1, -get_jog_speed(0)))
root_window.bind("<KeyRelease-Up>", lambda e: jog_off(1))

root_window.bind("<Down>", lambda e: jog_on(1, +get_jog_speed(0)))
root_window.bind("<KeyRelease-Down>", lambda e: jog_off(1))
i jeszcze mała poprawka na skalowanie i przybliżenie w glnav.py:

Kod: Zaznacz cały

def set_view_z2(self)
..
..
#bylo:        self.set_eyepoint_from_extents(size[1], size[0])
#teraz jest:
        self.set_eyepoint_from_extents(size[0]/1.8, size[1]/1.8)
Perspektywę też odwróciłem:

Kod: Zaznacz cały

def set_view_z2(self)
..
        size = (size[0] ** 2 + size[1] ** 2 + size[2] ** 2) ** .5 /2
..
        self.lat = -60
        self.lon = 115
        glRotateScene(self, 1.0, mid[0], mid[1], mid[2], 180, 0, 0, 1)
 
:
autor: pitsa
27 lut 2019, 19:35
Forum: LinuxCNC (dawniej EMC2)
Temat: dodatkowy widok z góry
Odpowiedzi: 2
Odsłony: 2072

Re: dodatkowy widok z góry

Odpowiadam sam sobie. :-)

W /usr/share/pyshared/glnav.py zmieniłem współrzędne obrotu z -90 na -180
z self.lon = 270 na self.lon = 180 i drugi przycisk obraca teraz widok o 180 stopni.
Przydałoby się, żeby ten widok był domyślny zamiast perspektywy. ;)

Kod: Zaznacz cały

    def set_view_z2(self):
        self.reset()
        glRotatef(-180, 0, 0, 1)
        mid, size = self.extents_info()
        glTranslatef(-mid[0], -mid[1], -mid[2])
        self.set_eyepoint_from_extents(size[1], size[0])
        self.perspective = False
        self.lat = 0
        self.lon = 180
        self._redraw()
autor: pitsa
27 lut 2019, 16:33
Forum: LinuxCNC (dawniej EMC2)
Temat: dodatkowy widok z góry
Odpowiedzi: 2
Odsłony: 2072

dodatkowy widok z góry

Obrazek
Są dwa widoki z góry,
Pierwszy tak jak na pokazanym zrzucie ekranu, drugi obrócony o 90 st.
Potrzebuję dołączyć trzeci (lub zmodyfikować drugi) aby widok był obrócony o 180 st.
Jak zaczynam kręcić widok myszką to mi siatka znika...

Szukam czy da radę i czy są gdzieś macierze widoków:

https://github.com/LinuxCNC/linuxcnc/bl ... ts/axis.py
szukam....
522: widgets.view_z.configure(relief="link")
523: widgets.view_z2.configure(relief="link")
...
("view_z", Button, ".toolbar.view_z"),
("view_z2", Button, ".toolbar.view_z2"),
...
vars.view_type.set(2)
o.set_view_z2()
...
set_view_z2
...
i to jest to:
https://github.com/LinuxCNC/linuxcnc/se ... et_view_z2

No i chyba znalazłem gdzie można poeksperymentować.
w /lib/python/glnav.py jest definiowanie obu widoków widoku

Kod: Zaznacz cały

def set_view_z(self):
        self.reset()
        mid, size = self.extents_info()
        glTranslatef(-mid[0], -mid[1], -mid[2])
        self.set_eyepoint_from_extents(size[0], size[1])
        self.perspective = False
        self.lat = self.lon = 0
        self._redraw()

    def set_view_z2(self):
        self.reset()
        glRotatef(-90, 0, 0, 1)
        mid, size = self.extents_info()
        glTranslatef(-mid[0], -mid[1], -mid[2])
        self.set_eyepoint_from_extents(size[1], size[0])
        self.perspective = False
        self.lat = 0
        self.lon = 270
self._redraw()

Wróć do „dodatkowy widok z góry”