mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Open technical graphics as four years of AutoCAD.
Each lesson has a method, a dimensioned assignment and a quiz, from the drawing sheet through the exam model. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
b50835fcd5
commit
6662eb185e
84 changed files with 3355 additions and 6 deletions
|
|
@ -71,6 +71,8 @@ Intel Mac, jiná architektura nebo úpravy kódu → [sestavení ze zdroje](#ses
|
||||||
- **Technické vybavení** — 4 ročníky: 1. ročník má 29 lekcí
|
- **Technické vybavení** — 4 ročníky: 1. ročník má 29 lekcí
|
||||||
(architektura, data, skříň, deska, karty, disky a vstup),
|
(architektura, data, skříň, deska, karty, disky a vstup),
|
||||||
ročníky 2–4 po 8 lekcích (monitory, sestavení, RAID, servery, údržba)
|
ročníky 2–4 po 8 lekcích (monitory, sestavení, RAID, servery, údržba)
|
||||||
|
- **Technická grafika** — 4 ročníky AutoCADu, v každém 8 lekcí:
|
||||||
|
výkres a souřadnice, úpravy a kóty, pohledy a tisk, 3D a maturitní zadání
|
||||||
- **Český jazyk a literatura** — literatura (4 ročníky, 32 lekcí podle osnov
|
- **Český jazyk a literatura** — literatura (4 ročníky, 32 lekcí podle osnov
|
||||||
středních škol), mluvnice (20 cvičení) a maturitní četba
|
středních škol), mluvnice (20 cvičení) a maturitní četba
|
||||||
(82 knih: zápisky, kvíz, sestavení děje)
|
(82 knih: zápisky, kvíz, sestavení děje)
|
||||||
|
|
@ -90,7 +92,7 @@ Intel Mac, jiná architektura nebo úpravy kódu → [sestavení ze zdroje](#ses
|
||||||
|
|
||||||
### Použití
|
### Použití
|
||||||
|
|
||||||
1. **Úvod** ukáže postup a mřížku předmětů. Otevřený předmět spustí cestu. Zamčené dlaždice zatím nic neotevřou: technická grafika, prezentační grafika, programování a programové vybavení.
|
1. **Úvod** ukáže postup a mřížku předmětů. Otevřený předmět spustí cestu. Zamčené dlaždice zatím nic neotevřou: prezentační grafika, programování a programové vybavení.
|
||||||
2. U němčiny je učebnice (Neue Freunde, Aus aller Welt, Bei uns zu Hause) a čtyři ročníky. Ostatní otevřené předměty mají ročníky, lekce nebo knihy.
|
2. U němčiny je učebnice (Neue Freunde, Aus aller Welt, Bei uns zu Hause) a čtyři ročníky. Ostatní otevřené předměty mají ročníky, lekce nebo knihy.
|
||||||
3. Z cesty se otevře výklad, poslech, čtení, psaní nebo kvíz.
|
3. Z cesty se otevře výklad, poslech, čtení, psaní nebo kvíz.
|
||||||
4. **Statistiky**, **Nastavení** a **Hledat** jsou v postranním panelu na Macu. Na telefonu a v desktopové aplikaci jsou na záložkách, hledání navíc ikonou lupy. Zkratka je `Cmd/Ctrl+K`.
|
4. **Statistiky**, **Nastavení** a **Hledat** jsou v postranním panelu na Macu. Na telefonu a v desktopové aplikaci jsou na záložkách, hledání navíc ikonou lupy. Zkratka je `Cmd/Ctrl+K`.
|
||||||
|
|
@ -259,6 +261,8 @@ Intel Mac, another architecture, or hacking on the code →
|
||||||
- **Computer hardware** — 4 years: year 1 has 29 lessons
|
- **Computer hardware** — 4 years: year 1 has 29 lessons
|
||||||
(architecture, data, case, board, cards, drives and input),
|
(architecture, data, case, board, cards, drives and input),
|
||||||
years 2–4 have 8 lessons each (displays, assembly, RAID, servers, maintenance)
|
years 2–4 have 8 lessons each (displays, assembly, RAID, servers, maintenance)
|
||||||
|
- **Technical graphics** — 4 years of AutoCAD, 8 lessons each:
|
||||||
|
the sheet and coordinates, editing and dimensions, views and plotting, 3D and the exam drawing
|
||||||
- **Czech language** — literature (4 years, 32 lessons from the secondary-school
|
- **Czech language** — literature (4 years, 32 lessons from the secondary-school
|
||||||
syllabus), grammar (20 exercises) and required reading
|
syllabus), grammar (20 exercises) and required reading
|
||||||
(82 books: notes, quiz, plot ordering)
|
(82 books: notes, quiz, plot ordering)
|
||||||
|
|
@ -279,7 +283,7 @@ Intel Mac, another architecture, or hacking on the code →
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
1. **Welcome** shows progress and the subject grid. An open subject starts its path. Locked tiles do nothing yet: technical drawing, presentation graphics, programming and software.
|
1. **Welcome** shows progress and the subject grid. An open subject starts its path. Locked tiles do nothing yet: presentation graphics, programming and software.
|
||||||
2. German has the textbook (Neue Freunde, Aus aller Welt, Bei uns zu Hause) and four years. The other open subjects have years, lessons or books.
|
2. German has the textbook (Neue Freunde, Aus aller Welt, Bei uns zu Hause) and four years. The other open subjects have years, lessons or books.
|
||||||
3. A path opens an overview, listening, reading, writing or a quiz.
|
3. A path opens an overview, listening, reading, writing or a quiz.
|
||||||
4. **Statistics**, **Settings** and **Search** sit in the sidebar on Mac. On the phone and the desktop app they are tabs, with search also on the magnifier. The shortcut is `Cmd/Ctrl+K`.
|
4. **Statistics**, **Settings** and **Search** sit in the sidebar on Mac. On the phone and the desktop app they are tabs, with search also on the magnifier. The shortcut is `Cmd/Ctrl+K`.
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,8 @@ import org.maturita.maturita.ui.HwQuizScreen
|
||||||
import org.maturita.maturita.ui.HwYearsScreen
|
import org.maturita.maturita.ui.HwYearsScreen
|
||||||
import org.maturita.maturita.ui.LessonListScreen
|
import org.maturita.maturita.ui.LessonListScreen
|
||||||
import org.maturita.maturita.ui.FyzQuizScreen
|
import org.maturita.maturita.ui.FyzQuizScreen
|
||||||
|
import org.maturita.maturita.ui.TgQuizScreen
|
||||||
|
import org.maturita.maturita.ui.TgYearsScreen
|
||||||
import org.maturita.maturita.ui.MathPracticeScreen
|
import org.maturita.maturita.ui.MathPracticeScreen
|
||||||
import org.maturita.maturita.ui.MatYearsScreen
|
import org.maturita.maturita.ui.MatYearsScreen
|
||||||
import org.maturita.maturita.ui.FyzYearsScreen
|
import org.maturita.maturita.ui.FyzYearsScreen
|
||||||
|
|
@ -525,6 +527,63 @@ private fun MaturitaAppBody(vm: AppViewModel) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is Route.Fyz4Ex -> FyzQuizScreen(vm, 4, r.id)
|
is Route.Fyz4Ex -> FyzQuizScreen(vm, 4, r.id)
|
||||||
|
Route.TgYears -> TgYearsScreen(vm)
|
||||||
|
Route.TgMap -> LessonListScreen(
|
||||||
|
vm, vm.tr("tg_year1"), vm.tr("tg_sub"),
|
||||||
|
vm.content.tg.map { l ->
|
||||||
|
val id = l.int("id")
|
||||||
|
LessonRow(vm.tr(l.str("titleKey")), vm.progress.tgDone(id), Route.TgLesson(id))
|
||||||
|
},
|
||||||
|
)
|
||||||
|
is Route.TgLesson -> {
|
||||||
|
val l = vm.content.tgLesson(r.id)
|
||||||
|
if (l != null) SlidesScreen(vm, vm.tr(l.str("titleKey")), vm.tr(l.str("subKey")), l.arr("slides")) {
|
||||||
|
vm.replace(Route.TgEx(r.id))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is Route.TgEx -> TgQuizScreen(vm, 1, r.id)
|
||||||
|
Route.Tg2Map -> LessonListScreen(
|
||||||
|
vm, vm.tr("tg_year2"), vm.tr("tg2_sub"),
|
||||||
|
vm.content.tg2.map { l ->
|
||||||
|
val id = l.int("id")
|
||||||
|
LessonRow(vm.tr(l.str("titleKey")), vm.progress.tg2Done(id), Route.Tg2Lesson(id))
|
||||||
|
},
|
||||||
|
)
|
||||||
|
is Route.Tg2Lesson -> {
|
||||||
|
val l = vm.content.tg2Lesson(r.id)
|
||||||
|
if (l != null) SlidesScreen(vm, vm.tr(l.str("titleKey")), vm.tr(l.str("subKey")), l.arr("slides")) {
|
||||||
|
vm.replace(Route.Tg2Ex(r.id))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is Route.Tg2Ex -> TgQuizScreen(vm, 2, r.id)
|
||||||
|
Route.Tg3Map -> LessonListScreen(
|
||||||
|
vm, vm.tr("tg_year3"), vm.tr("tg3_sub"),
|
||||||
|
vm.content.tg3.map { l ->
|
||||||
|
val id = l.int("id")
|
||||||
|
LessonRow(vm.tr(l.str("titleKey")), vm.progress.tg3Done(id), Route.Tg3Lesson(id))
|
||||||
|
},
|
||||||
|
)
|
||||||
|
is Route.Tg3Lesson -> {
|
||||||
|
val l = vm.content.tg3Lesson(r.id)
|
||||||
|
if (l != null) SlidesScreen(vm, vm.tr(l.str("titleKey")), vm.tr(l.str("subKey")), l.arr("slides")) {
|
||||||
|
vm.replace(Route.Tg3Ex(r.id))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is Route.Tg3Ex -> TgQuizScreen(vm, 3, r.id)
|
||||||
|
Route.Tg4Map -> LessonListScreen(
|
||||||
|
vm, vm.tr("tg_year4"), vm.tr("tg4_sub"),
|
||||||
|
vm.content.tg4.map { l ->
|
||||||
|
val id = l.int("id")
|
||||||
|
LessonRow(vm.tr(l.str("titleKey")), vm.progress.tg4Done(id), Route.Tg4Lesson(id))
|
||||||
|
},
|
||||||
|
)
|
||||||
|
is Route.Tg4Lesson -> {
|
||||||
|
val l = vm.content.tg4Lesson(r.id)
|
||||||
|
if (l != null) SlidesScreen(vm, vm.tr(l.str("titleKey")), vm.tr(l.str("subKey")), l.arr("slides")) {
|
||||||
|
vm.replace(Route.Tg4Ex(r.id))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is Route.Tg4Ex -> TgQuizScreen(vm, 4, r.id)
|
||||||
Route.SciMap -> SciMapScreen(vm)
|
Route.SciMap -> SciMapScreen(vm)
|
||||||
Route.ChemMap -> LessonListScreen(
|
Route.ChemMap -> LessonListScreen(
|
||||||
vm, vm.tr("Chemie"), vm.tr("chem_sub"),
|
vm, vm.tr("Chemie"), vm.tr("chem_sub"),
|
||||||
|
|
|
||||||
|
|
@ -242,6 +242,26 @@ class AppViewModel(val content: Content, val platform: Platform) {
|
||||||
refresh()
|
refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun markTg(id: Int) {
|
||||||
|
progress.markTg(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun markTg2(id: Int) {
|
||||||
|
progress.markTg2(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun markTg3(id: Int) {
|
||||||
|
progress.markTg3(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun markTg4(id: Int) {
|
||||||
|
progress.markTg4(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
fun markMluv(n: Int) {
|
fun markMluv(n: Int) {
|
||||||
progress.markMluv(n)
|
progress.markMluv(n)
|
||||||
refresh()
|
refresh()
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,19 @@ sealed class Route(val page: String) {
|
||||||
data object Fyz4Map : Route("fyz4map")
|
data object Fyz4Map : Route("fyz4map")
|
||||||
data class Fyz4Lesson(val id: Int) : Route("fyz4unit$id")
|
data class Fyz4Lesson(val id: Int) : Route("fyz4unit$id")
|
||||||
data class Fyz4Ex(val id: Int) : Route("fyz4ex$id")
|
data class Fyz4Ex(val id: Int) : Route("fyz4ex$id")
|
||||||
|
data object TgYears : Route("tgyears")
|
||||||
|
data object TgMap : Route("tgmap")
|
||||||
|
data class TgLesson(val id: Int) : Route("tgunit$id")
|
||||||
|
data class TgEx(val id: Int) : Route("tgex$id")
|
||||||
|
data object Tg2Map : Route("tg2map")
|
||||||
|
data class Tg2Lesson(val id: Int) : Route("tg2unit$id")
|
||||||
|
data class Tg2Ex(val id: Int) : Route("tg2ex$id")
|
||||||
|
data object Tg3Map : Route("tg3map")
|
||||||
|
data class Tg3Lesson(val id: Int) : Route("tg3unit$id")
|
||||||
|
data class Tg3Ex(val id: Int) : Route("tg3ex$id")
|
||||||
|
data object Tg4Map : Route("tg4map")
|
||||||
|
data class Tg4Lesson(val id: Int) : Route("tg4unit$id")
|
||||||
|
data class Tg4Ex(val id: Int) : Route("tg4ex$id")
|
||||||
data object CzechMap : Route("czechmap")
|
data object CzechMap : Route("czechmap")
|
||||||
data object Mluvnice : Route("mluvnice")
|
data object Mluvnice : Route("mluvnice")
|
||||||
data class MluvEx(val n: Int) : Route("mluve$n")
|
data class MluvEx(val n: Int) : Route("mluve$n")
|
||||||
|
|
@ -237,6 +250,19 @@ sealed class Route(val page: String) {
|
||||||
Fyz4Map -> listOf(Subjects, FyzYears, Fyz4Map)
|
Fyz4Map -> listOf(Subjects, FyzYears, Fyz4Map)
|
||||||
is Fyz4Lesson -> listOf(Subjects, FyzYears, Fyz4Map, this)
|
is Fyz4Lesson -> listOf(Subjects, FyzYears, Fyz4Map, this)
|
||||||
is Fyz4Ex -> listOf(Subjects, FyzYears, Fyz4Map, Fyz4Lesson(id), this)
|
is Fyz4Ex -> listOf(Subjects, FyzYears, Fyz4Map, Fyz4Lesson(id), this)
|
||||||
|
TgYears -> listOf(Subjects, TgYears)
|
||||||
|
TgMap -> listOf(Subjects, TgYears, TgMap)
|
||||||
|
is TgLesson -> listOf(Subjects, TgYears, TgMap, this)
|
||||||
|
is TgEx -> listOf(Subjects, TgYears, TgMap, TgLesson(id), this)
|
||||||
|
Tg2Map -> listOf(Subjects, TgYears, Tg2Map)
|
||||||
|
is Tg2Lesson -> listOf(Subjects, TgYears, Tg2Map, this)
|
||||||
|
is Tg2Ex -> listOf(Subjects, TgYears, Tg2Map, Tg2Lesson(id), this)
|
||||||
|
Tg3Map -> listOf(Subjects, TgYears, Tg3Map)
|
||||||
|
is Tg3Lesson -> listOf(Subjects, TgYears, Tg3Map, this)
|
||||||
|
is Tg3Ex -> listOf(Subjects, TgYears, Tg3Map, Tg3Lesson(id), this)
|
||||||
|
Tg4Map -> listOf(Subjects, TgYears, Tg4Map)
|
||||||
|
is Tg4Lesson -> listOf(Subjects, TgYears, Tg4Map, this)
|
||||||
|
is Tg4Ex -> listOf(Subjects, TgYears, Tg4Map, Tg4Lesson(id), this)
|
||||||
CzechMap -> listOf(Subjects, CzechMap)
|
CzechMap -> listOf(Subjects, CzechMap)
|
||||||
Mluvnice -> listOf(Subjects, CzechMap, Mluvnice)
|
Mluvnice -> listOf(Subjects, CzechMap, Mluvnice)
|
||||||
is MluvEx -> listOf(Subjects, CzechMap, Mluvnice, this)
|
is MluvEx -> listOf(Subjects, CzechMap, Mluvnice, this)
|
||||||
|
|
@ -289,6 +315,11 @@ fun routeFromPage(page: String): Route? = when (page) {
|
||||||
"fyz2map" -> Route.Fyz2Map
|
"fyz2map" -> Route.Fyz2Map
|
||||||
"fyz3map" -> Route.Fyz3Map
|
"fyz3map" -> Route.Fyz3Map
|
||||||
"fyz4map" -> Route.Fyz4Map
|
"fyz4map" -> Route.Fyz4Map
|
||||||
|
"tgyears" -> Route.TgYears
|
||||||
|
"tgmap" -> Route.TgMap
|
||||||
|
"tg2map" -> Route.Tg2Map
|
||||||
|
"tg3map" -> Route.Tg3Map
|
||||||
|
"tg4map" -> Route.Tg4Map
|
||||||
"czechmap" -> Route.CzechMap
|
"czechmap" -> Route.CzechMap
|
||||||
"mluvnice" -> Route.Mluvnice
|
"mluvnice" -> Route.Mluvnice
|
||||||
"readinglist" -> Route.ReadingList
|
"readinglist" -> Route.ReadingList
|
||||||
|
|
@ -386,6 +417,30 @@ fun routeFromPage(page: String): Route? = when (page) {
|
||||||
Regex("""fyzex(\d+)""").matchEntire(page)?.let {
|
Regex("""fyzex(\d+)""").matchEntire(page)?.let {
|
||||||
return Route.FyzEx(it.groupValues[1].toInt())
|
return Route.FyzEx(it.groupValues[1].toInt())
|
||||||
}
|
}
|
||||||
|
Regex("""tg4unit(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg4Lesson(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tg4ex(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg4Ex(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tg3unit(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg3Lesson(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tg3ex(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg3Ex(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tg2unit(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg2Lesson(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tg2ex(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.Tg2Ex(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tgunit(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.TgLesson(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
|
Regex("""tgex(\d+)""").matchEntire(page)?.let {
|
||||||
|
return Route.TgEx(it.groupValues[1].toInt())
|
||||||
|
}
|
||||||
Regex("""lit4unit(\d+)""").matchEntire(page)?.let {
|
Regex("""lit4unit(\d+)""").matchEntire(page)?.let {
|
||||||
return Route.Lit4Lesson(it.groupValues[1].toInt())
|
return Route.Lit4Lesson(it.groupValues[1].toInt())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,10 @@ class Content(root: JSONObject) {
|
||||||
val fyz2 = raw.arr("fyz2")
|
val fyz2 = raw.arr("fyz2")
|
||||||
val fyz3 = raw.arr("fyz3")
|
val fyz3 = raw.arr("fyz3")
|
||||||
val fyz4 = raw.arr("fyz4")
|
val fyz4 = raw.arr("fyz4")
|
||||||
|
val tg = raw.arr("tg")
|
||||||
|
val tg2 = raw.arr("tg2")
|
||||||
|
val tg3 = raw.arr("tg3")
|
||||||
|
val tg4 = raw.arr("tg4")
|
||||||
val mat0 = raw.arr("mat0")
|
val mat0 = raw.arr("mat0")
|
||||||
val mat = raw.arr("mat")
|
val mat = raw.arr("mat")
|
||||||
val mat2 = raw.arr("mat2")
|
val mat2 = raw.arr("mat2")
|
||||||
|
|
@ -108,6 +112,10 @@ class Content(root: JSONObject) {
|
||||||
fun fyz2Lesson(id: Int) = fyz2.firstOrNull { it.int("id") == id }
|
fun fyz2Lesson(id: Int) = fyz2.firstOrNull { it.int("id") == id }
|
||||||
fun fyz3Lesson(id: Int) = fyz3.firstOrNull { it.int("id") == id }
|
fun fyz3Lesson(id: Int) = fyz3.firstOrNull { it.int("id") == id }
|
||||||
fun fyz4Lesson(id: Int) = fyz4.firstOrNull { it.int("id") == id }
|
fun fyz4Lesson(id: Int) = fyz4.firstOrNull { it.int("id") == id }
|
||||||
|
fun tgLesson(id: Int) = tg.firstOrNull { it.int("id") == id }
|
||||||
|
fun tg2Lesson(id: Int) = tg2.firstOrNull { it.int("id") == id }
|
||||||
|
fun tg3Lesson(id: Int) = tg3.firstOrNull { it.int("id") == id }
|
||||||
|
fun tg4Lesson(id: Int) = tg4.firstOrNull { it.int("id") == id }
|
||||||
fun mat0Lesson(id: Int) = mat0.firstOrNull { it.int("id") == id }
|
fun mat0Lesson(id: Int) = mat0.firstOrNull { it.int("id") == id }
|
||||||
fun matLesson(id: Int) = mat.firstOrNull { it.int("id") == id }
|
fun matLesson(id: Int) = mat.firstOrNull { it.int("id") == id }
|
||||||
fun mat2Lesson(id: Int) = mat2.firstOrNull { it.int("id") == id }
|
fun mat2Lesson(id: Int) = mat2.firstOrNull { it.int("id") == id }
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,14 @@ class ProgressStore(private val prefs: Prefs, content: Content) {
|
||||||
fun markFyz3(id: Int) { mark("fyz3.$id") }
|
fun markFyz3(id: Int) { mark("fyz3.$id") }
|
||||||
fun fyz4Done(id: Int) = done("fyz4.$id")
|
fun fyz4Done(id: Int) = done("fyz4.$id")
|
||||||
fun markFyz4(id: Int) { mark("fyz4.$id") }
|
fun markFyz4(id: Int) { mark("fyz4.$id") }
|
||||||
|
fun tgDone(id: Int) = done("tg.$id")
|
||||||
|
fun markTg(id: Int) { mark("tg.$id") }
|
||||||
|
fun tg2Done(id: Int) = done("tg2.$id")
|
||||||
|
fun markTg2(id: Int) { mark("tg2.$id") }
|
||||||
|
fun tg3Done(id: Int) = done("tg3.$id")
|
||||||
|
fun markTg3(id: Int) { mark("tg3.$id") }
|
||||||
|
fun tg4Done(id: Int) = done("tg4.$id")
|
||||||
|
fun markTg4(id: Int) { mark("tg4.$id") }
|
||||||
fun mat0Done(id: Int) = done("mat0.$id")
|
fun mat0Done(id: Int) = done("mat0.$id")
|
||||||
fun markMat0(id: Int) { mark("mat0.$id") }
|
fun markMat0(id: Int) { mark("mat0.$id") }
|
||||||
fun matDone(id: Int) = done("mat.$id")
|
fun matDone(id: Int) = done("mat.$id")
|
||||||
|
|
@ -280,6 +288,38 @@ fun summarize(content: Content, p: ProgressStore): ProgressSum {
|
||||||
sum.doneUnits += 1
|
sum.doneUnits += 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
content.tg.forEach { l ->
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if (p.tgDone(l.int("id"))) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content.tg2.forEach { l ->
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if (p.tg2Done(l.int("id"))) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content.tg3.forEach { l ->
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if (p.tg3Done(l.int("id"))) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content.tg4.forEach { l ->
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if (p.tg4Done(l.int("id"))) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
content.mat0.forEach { l ->
|
content.mat0.forEach { l ->
|
||||||
sum.totalEx += 1
|
sum.totalEx += 1
|
||||||
sum.openUnits += 1
|
sum.openUnits += 1
|
||||||
|
|
|
||||||
|
|
@ -1082,6 +1082,30 @@ fun ChoiceLessonScreen(vm: AppViewModel, lesson: J?, onDone: () -> Unit) {
|
||||||
DispatchExercise(vm, spec, vm.tr(lesson.str("exTitleKey")), onDone)
|
DispatchExercise(vm, spec, vm.tr(lesson.str("exTitleKey")), onDone)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun TgQuizScreen(vm: AppViewModel, year: Int, id: Int) {
|
||||||
|
val lesson = when (year) {
|
||||||
|
2 -> vm.content.tg2Lesson(id)
|
||||||
|
3 -> vm.content.tg3Lesson(id)
|
||||||
|
4 -> vm.content.tg4Lesson(id)
|
||||||
|
else -> vm.content.tgLesson(id)
|
||||||
|
} ?: return
|
||||||
|
val spec = J(org.json.JSONObject().apply {
|
||||||
|
put("type", "choice")
|
||||||
|
put("title", vm.tr(lesson.str("exTitleKey")))
|
||||||
|
put("sub", lesson.str("quizHeadKey"))
|
||||||
|
put("questions", lesson.o.optJSONArray("quiz"))
|
||||||
|
})
|
||||||
|
DispatchExercise(vm, spec, vm.tr(lesson.str("exTitleKey"))) {
|
||||||
|
when (year) {
|
||||||
|
2 -> vm.markTg2(id)
|
||||||
|
3 -> vm.markTg3(id)
|
||||||
|
4 -> vm.markTg4(id)
|
||||||
|
else -> vm.markTg(id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun FyzQuizScreen(vm: AppViewModel, year: Int, id: Int) {
|
fun FyzQuizScreen(vm: AppViewModel, year: Int, id: Int) {
|
||||||
val lesson = when (year) {
|
val lesson = when (year) {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||||
import androidx.compose.material.icons.automirrored.filled.MenuBook
|
import androidx.compose.material.icons.automirrored.filled.MenuBook
|
||||||
|
import androidx.compose.material.icons.filled.Architecture
|
||||||
import androidx.compose.material.icons.filled.Bolt
|
import androidx.compose.material.icons.filled.Bolt
|
||||||
import androidx.compose.material.icons.filled.Functions
|
import androidx.compose.material.icons.filled.Functions
|
||||||
import androidx.compose.material.icons.filled.Check
|
import androidx.compose.material.icons.filled.Check
|
||||||
|
|
@ -225,6 +226,7 @@ private fun SubjectIcon(icon: String, open: Boolean) {
|
||||||
"flask" -> Icon(Icons.Filled.Science, null, tint = tint, modifier = Modifier.size(26.dp))
|
"flask" -> Icon(Icons.Filled.Science, null, tint = tint, modifier = Modifier.size(26.dp))
|
||||||
"bolt" -> Icon(Icons.Filled.Bolt, null, tint = tint, modifier = Modifier.size(26.dp))
|
"bolt" -> Icon(Icons.Filled.Bolt, null, tint = tint, modifier = Modifier.size(26.dp))
|
||||||
"function" -> Icon(Icons.Filled.Functions, null, tint = tint, modifier = Modifier.size(26.dp))
|
"function" -> Icon(Icons.Filled.Functions, null, tint = tint, modifier = Modifier.size(26.dp))
|
||||||
|
"ruler" -> Icon(Icons.Filled.Architecture, null, tint = tint, modifier = Modifier.size(26.dp))
|
||||||
else -> Icon(Icons.Filled.Lock, null, tint = tint)
|
else -> Icon(Icons.Filled.Lock, null, tint = tint)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -348,6 +350,13 @@ private fun subjectSum(vm: AppViewModel, s: J): ProgressSum {
|
||||||
vm.content.fyz3.count { vm.progress.fyz3Done(it.int("id")) } +
|
vm.content.fyz3.count { vm.progress.fyz3Done(it.int("id")) } +
|
||||||
vm.content.fyz4.count { vm.progress.fyz4Done(it.int("id")) }
|
vm.content.fyz4.count { vm.progress.fyz4Done(it.int("id")) }
|
||||||
}
|
}
|
||||||
|
"tgyears", "tgmap", "tg2map", "tg3map", "tg4map" -> {
|
||||||
|
sum.totalEx = vm.content.tg.size + vm.content.tg2.size + vm.content.tg3.size + vm.content.tg4.size
|
||||||
|
sum.doneEx = vm.content.tg.count { vm.progress.tgDone(it.int("id")) } +
|
||||||
|
vm.content.tg2.count { vm.progress.tg2Done(it.int("id")) } +
|
||||||
|
vm.content.tg3.count { vm.progress.tg3Done(it.int("id")) } +
|
||||||
|
vm.content.tg4.count { vm.progress.tg4Done(it.int("id")) }
|
||||||
|
}
|
||||||
"czechmap" -> {
|
"czechmap" -> {
|
||||||
val litDone = vm.content.lit.count { vm.progress.litDone(it.int("id")) } +
|
val litDone = vm.content.lit.count { vm.progress.litDone(it.int("id")) } +
|
||||||
vm.content.lit2.count { vm.progress.lit2Done(it.int("id")) } +
|
vm.content.lit2.count { vm.progress.lit2Done(it.int("id")) } +
|
||||||
|
|
@ -649,6 +658,27 @@ private fun buildSearch(vm: AppViewModel): List<Hit> {
|
||||||
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "fyz4unit${l.int("id")}", extra = "fyzika")
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "fyz4unit${l.int("id")}", extra = "fyzika")
|
||||||
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "fyz4ex${l.int("id")}")
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "fyz4ex${l.int("id")}")
|
||||||
}
|
}
|
||||||
|
add(vm.tr("Technická grafika"), vm.tr("search_lesson"), "tgyears", extra = "autocad grafika")
|
||||||
|
add(vm.tr("tg_year1"), vm.tr("search_lesson"), "tgmap", extra = "rocnik")
|
||||||
|
add(vm.tr("tg_year2"), vm.tr("search_lesson"), "tg2map", extra = "rocnik")
|
||||||
|
add(vm.tr("tg_year3"), vm.tr("search_lesson"), "tg3map", extra = "rocnik")
|
||||||
|
add(vm.tr("tg_year4"), vm.tr("search_lesson"), "tg4map", extra = "rocnik")
|
||||||
|
vm.content.tg.forEach { l ->
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tgunit${l.int("id")}", extra = "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tgex${l.int("id")}")
|
||||||
|
}
|
||||||
|
vm.content.tg2.forEach { l ->
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg2unit${l.int("id")}", extra = "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg2ex${l.int("id")}")
|
||||||
|
}
|
||||||
|
vm.content.tg3.forEach { l ->
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg3unit${l.int("id")}", extra = "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg3ex${l.int("id")}")
|
||||||
|
}
|
||||||
|
vm.content.tg4.forEach { l ->
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg4unit${l.int("id")}", extra = "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg4ex${l.int("id")}")
|
||||||
|
}
|
||||||
add(vm.tr("Chemie"), vm.tr("search_lesson"), "chemmap", extra = "chemie")
|
add(vm.tr("Chemie"), vm.tr("search_lesson"), "chemmap", extra = "chemie")
|
||||||
add(vm.tr("Biologie"), vm.tr("search_lesson"), "biomap", extra = "biologie")
|
add(vm.tr("Biologie"), vm.tr("search_lesson"), "biomap", extra = "biologie")
|
||||||
vm.content.chem.forEach { l ->
|
vm.content.chem.forEach { l ->
|
||||||
|
|
@ -848,6 +878,20 @@ fun MatYearsScreen(vm: AppViewModel) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun TgYearsScreen(vm: AppViewModel) {
|
||||||
|
DetailScaffold(vm, vm.tr("Technická grafika"), vm.tr("tg_years_sub")) { inner ->
|
||||||
|
LazyColumn(contentPadding = PaddingValues(top = inner.calculateTopPadding(), bottom = inner.calculateBottomPadding() + 16.dp)) {
|
||||||
|
item {
|
||||||
|
NavRow(title = vm.tr("tg_year1"), subtitle = vm.tr("tg_sub"), leading = { Text("1.", style = MaterialTheme.typography.titleMedium) }) { vm.go(Route.TgMap) }
|
||||||
|
NavRow(title = vm.tr("tg_year2"), subtitle = vm.tr("tg2_sub"), leading = { Text("2.", style = MaterialTheme.typography.titleMedium) }) { vm.go(Route.Tg2Map) }
|
||||||
|
NavRow(title = vm.tr("tg_year3"), subtitle = vm.tr("tg3_sub"), leading = { Text("3.", style = MaterialTheme.typography.titleMedium) }) { vm.go(Route.Tg3Map) }
|
||||||
|
NavRow(title = vm.tr("tg_year4"), subtitle = vm.tr("tg4_sub"), leading = { Text("4.", style = MaterialTheme.typography.titleMedium) }) { vm.go(Route.Tg4Map) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun FyzYearsScreen(vm: AppViewModel) {
|
fun FyzYearsScreen(vm: AppViewModel) {
|
||||||
DetailScaffold(vm, vm.tr("Fyzika"), vm.tr("fyz_years_sub")) { inner ->
|
DetailScaffold(vm, vm.tr("Fyzika"), vm.tr("fyz_years_sub")) { inner ->
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ Skript vypíše počet lekcí, nebo chyby s cestou a číslem řádku
|
||||||
|
|
||||||
| Složka | Obsah |
|
| Složka | Obsah |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `pocitacove-site/`, `technicke-vybaveni/`, `obcanska-nauka/`, `fyzika/` | `N-rocnik/`, v nich lekce |
|
| `pocitacove-site/`, `technicke-vybaveni/`, `technicka-grafika/`, `obcanska-nauka/`, `fyzika/` | `N-rocnik/`, v nich lekce |
|
||||||
| `prirodni-vedy/chemie`, `prirodni-vedy/biologie` | lekce |
|
| `prirodni-vedy/chemie`, `prirodni-vedy/biologie` | lekce |
|
||||||
| `cestina/literatura/N-rocnik` | lekce literatury |
|
| `cestina/literatura/N-rocnik` | lekce literatury |
|
||||||
| `cestina/mluvnice` | cvičení z mluvnice |
|
| `cestina/mluvnice` | cvičení z mluvnice |
|
||||||
|
|
@ -97,7 +97,7 @@ a smažte `puvodni`.
|
||||||
|
|
||||||
## Běžná lekce
|
## Běžná lekce
|
||||||
|
|
||||||
Sítě, hardware, občanka, literatura, chemie, biologie, fyzika.
|
Sítě, hardware, technická grafika, občanka, literatura, chemie, biologie, fyzika.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,12 @@
|
||||||
# cs: bullet
|
# cs: bullet
|
||||||
# en: bullet
|
# en: bullet
|
||||||
|
|
||||||
|
--- 2026-10-11
|
||||||
|
cs: Technická grafika: čtyři ročníky AutoCADu, od výkresu po 3D
|
||||||
|
cs: V každé lekci je postup, zadání s rozměry a kvíz
|
||||||
|
en: Technical graphics: four years of AutoCAD, from the drawing sheet to 3D
|
||||||
|
en: Every lesson has a method, a dimensioned assignment and a quiz
|
||||||
|
|
||||||
--- 2026-10-07
|
--- 2026-10-07
|
||||||
cs: Sítě a technické vybavení: doplněné 2. až 4. ročníky, v každém 8 lekcí
|
cs: Sítě a technické vybavení: doplněné 2. až 4. ročníky, v každém 8 lekcí
|
||||||
cs: Výklad a kvíz od VLAN a sestavení počítače po maturitu
|
cs: Výklad a kvíz od VLAN a sestavení počítače po maturitu
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
| Matematika | Matematika | Mathematics | function | matyears | ano |
|
| Matematika | Matematika | Mathematics | function | matyears | ano |
|
||||||
| Fyzika | Fyzika | Physics | bolt | fyzyears | ano |
|
| Fyzika | Fyzika | Physics | bolt | fyzyears | ano |
|
||||||
| Základy přírodních věd | Základy přírodních věd | Fundamentals of Natural Sciences | flask | scimap | ano |
|
| Základy přírodních věd | Základy přírodních věd | Fundamentals of Natural Sciences | flask | scimap | ano |
|
||||||
| Technická grafika | Technická grafika | Technical Drawing | lock | | ne |
|
| Technická grafika | Technická grafika | Technical Graphics | ruler | tgyears | ano |
|
||||||
| Prezentační grafika | Prezentační grafika | Presentation Graphics | lock | | ne |
|
| Prezentační grafika | Prezentační grafika | Presentation Graphics | lock | | ne |
|
||||||
| Programování | Programování | Programming | lock | | ne |
|
| Programování | Programování | Programming | lock | | ne |
|
||||||
| Programové vybavení | Programové vybavení | Software | lock | | ne |
|
| Programové vybavení | Programové vybavení | Software | lock | | ne |
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| welcome_kicker | Graduately | Graduately |
|
| welcome_kicker | Graduately | Graduately |
|
||||||
| welcome_title | Maturita?\nTo dáme. | Maturita?\nWe've got this. |
|
| welcome_title | Maturita?\nTo dáme. | Maturita?\nWe've got this. |
|
||||||
| welcome_body | Procvičování k maturitě v jednom okně. Česky i anglicky, napsané v C studenty ze SSŠVT. | Exam practice in one window. Czech and English, written in C by students from SSŠVT. |
|
| welcome_body | Procvičování k maturitě v jednom okně. Česky i anglicky, napsané studenty ze SSŠVT. | Exam practice in one window. Czech and English, written by students from SSŠVT. |
|
||||||
| welcome_body_android | Procvičování k maturitě v telefonu. Česky i anglicky, stejný obsah jako na počítači. | Exam practice on your phone. Czech and English, the same content as on the computer. |
|
| welcome_body_android | Procvičování k maturitě v telefonu. Česky i anglicky, stejný obsah jako na počítači. | Exam practice on your phone. Czech and English, the same content as on the computer. |
|
||||||
| welcome_body_desktop | Procvičování k maturitě na počítači. Česky i anglicky, stejný obsah jako v telefonu. | Exam practice on your computer. Czech and English, the same content as on your phone. |
|
| welcome_body_desktop | Procvičování k maturitě na počítači. Česky i anglicky, stejný obsah jako v telefonu. | Exam practice on your computer. Czech and English, the same content as on your phone. |
|
||||||
| welcome_body_ios | Nativní procvičování na iPhonu. Česky i anglicky, stejný obsah, rozhraní podle iOS. | Native exam practice on iPhone. Czech and English, the same content, adapted to iOS. |
|
| welcome_body_ios | Nativní procvičování na iPhonu. Česky i anglicky, stejný obsah, rozhraní podle iOS. | Native exam practice on iPhone. Czech and English, the same content, adapted to iOS. |
|
||||||
|
|
@ -229,6 +229,20 @@
|
||||||
| fyz3_sub | Elektřina a magnetismus. | Electricity and magnetism. |
|
| fyz3_sub | Elektřina a magnetismus. | Electricity and magnetism. |
|
||||||
| fyz4_sub | Optika, relativita, mikročástice a vesmír. | Optics, relativity, the micro-world and the universe. |
|
| fyz4_sub | Optika, relativita, mikročástice a vesmír. | Optics, relativity, the micro-world and the universe. |
|
||||||
|
|
||||||
|
# Technická grafika
|
||||||
|
|
||||||
|
| Klíč | Česky | Anglicky |
|
||||||
|
|---|---|---|
|
||||||
|
| tg_years_sub | Čtyři ročníky AutoCADu, od výkresu po maturitní zadání. | Four years of AutoCAD, from the drawing sheet to the exam project. |
|
||||||
|
| tg_year1 | 1. ročník | Year 1 |
|
||||||
|
| tg_year2 | 2. ročník | Year 2 |
|
||||||
|
| tg_year3 | 3. ročník | Year 3 |
|
||||||
|
| tg_year4 | 4. ročník | Year 4 |
|
||||||
|
| tg_sub | Výkres, souřadnice a první příkazy. | The sheet, coordinates and the first commands. |
|
||||||
|
| tg2_sub | Úpravy, hladiny, šrafy a kóty. | Editing, layers, hatches and dimensions. |
|
||||||
|
| tg3_sub | Pohledy, řezy, bloky a tisk. | Views, sections, blocks and plotting. |
|
||||||
|
| tg4_sub | 3D model a výkres k maturitě. | A 3D model and the exam drawing. |
|
||||||
|
|
||||||
# Angličtina a němčina
|
# Angličtina a němčina
|
||||||
|
|
||||||
| Klíč | Česky | Anglicky |
|
| Klíč | Česky | Anglicky |
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Sheet size, scale and the title block
|
||||||
|
popis: A sizes, drawing scale and the title block.
|
||||||
|
nazev_cviceni: Quiz: sheet and scale
|
||||||
|
nadpis_kvizu: Check the sheet, the scale and the title block
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/01-format-a-meritko.md
Normal file
80
content/technicka-grafika/1-rocnik/01-format-a-meritko.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-format-a-meritko
|
||||||
|
nazev: Formát, měřítko a razítko
|
||||||
|
popis: Řada A, měřítko výkresu a popisové pole.
|
||||||
|
nazev_cviceni: Kvíz: formát a měřítko
|
||||||
|
nadpis_kvizu: Ověřte si formát, měřítko a razítko
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Řada formátů A
|
||||||
|
*Papír*
|
||||||
|
|
||||||
|
- Základní formát A4 má 210 × 297 mm. Delší strana je na výšku.
|
||||||
|
- A3 vznikne složením dvou A4: 297 × 420 mm.
|
||||||
|
- A2 je 420 × 594 mm. Každý větší formát má dvojnásobnou plochu.
|
||||||
|
- Na škole se součást kreslí nejčastěji na A4 nebo A3.
|
||||||
|
|
||||||
|
> Tip: kratší strana většího formátu je delší stranou menšího. A3 je na šířku, A4 na výšku.
|
||||||
|
|
||||||
|
## Co znamená měřítko
|
||||||
|
*Měřítko*
|
||||||
|
|
||||||
|
- Měřítko 1:1 znamená, že výkres je ve skutečné velikosti.
|
||||||
|
- Měřítko 1:2 zmenšuje kresbu na polovinu. Měřítko 2:1 ji zvětšuje na dvojnásobek.
|
||||||
|
- Kóta se vždy píše ve skutečném rozměru, ne v rozměru nakreslené čáry.
|
||||||
|
- Do razítka se měřítko zapíše tak, jak se kreslilo, třeba 1:2.
|
||||||
|
|
||||||
|
> Tip: díra o průměru 20 mm má na výkresu 1:2 čáru dlouhou 10 mm, ale kóta říká 20.
|
||||||
|
|
||||||
|
## Popisové pole
|
||||||
|
*Razítko*
|
||||||
|
|
||||||
|
- Razítko je v pravém dolním rohu. Čte se zprava, když je výkres ve správné poloze.
|
||||||
|
- Patří do něj název, měřítko, materiál, datum a jméno.
|
||||||
|
- Číslo výkresu a název součásti se nesmí vyměnit za ozdobný text.
|
||||||
|
- Rámeček je od okraje papíru odsazený, na školním A4 obvykle o 5 až 10 mm.
|
||||||
|
|
||||||
|
> Tip: než začnete kreslit součást, vyhraďte si hladinu pro rámeček a razítko.
|
||||||
|
|
||||||
|
## Zadání: rámeček A4
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Nakreslete obdélník 210 × 297 a dovnitř rámeček odsazený o 10 mm od každého okraje.
|
||||||
|
- Vpravo dole vyhraďte razítko 180 × 40 mm, které lícuje s vnitřním rámečkem.
|
||||||
|
- Do razítka vepište název Destička, měřítko 1:1 a své jméno.
|
||||||
|
- Soubor uložte jako A4-ramecek.dwg, jednotky milimetry.
|
||||||
|
|
||||||
|
> Tip: vnitřní rámeček má 190 × 277 mm. Levý dolní roh dejte do bodu 0,0.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaké rozměry má formát A4?
|
||||||
|
- 297 × 420 mm
|
||||||
|
- [x] 210 × 297 mm
|
||||||
|
- 420 × 594 mm
|
||||||
|
- 148 × 210 mm
|
||||||
|
> A3 je 297 × 420 mm. A4 je polovina této plochy, 210 × 297 mm.
|
||||||
|
|
||||||
|
## Co se stane s kótou na výkresu v měřítku 1:2?
|
||||||
|
- Píše se polovina skutečného rozměru
|
||||||
|
- [x] Píše se skutečný rozměr
|
||||||
|
- Kóty se vynechají
|
||||||
|
- Měřítko se do razítka nepíše
|
||||||
|
> Kresba je poloviční, číslo na kótě zůstává skutečné. Měřítko 1:2 je v razítku.
|
||||||
|
|
||||||
|
## Kam se na výkresu umísťuje razítko?
|
||||||
|
- Doprostřed plochy
|
||||||
|
- [x] Do pravého dolního rohu
|
||||||
|
- Nad součást, vlevo
|
||||||
|
- Mimo rámeček
|
||||||
|
> Razítko lícuje s vnitřním rámečkem vpravo dole, aby šlo výkres složit a razítko zůstalo navrchu.
|
||||||
|
|
||||||
|
## Jak je velký vnitřní rámeček A4 při odsazení 10 mm?
|
||||||
|
- 210 × 297 mm
|
||||||
|
- [x] 190 × 277 mm
|
||||||
|
- 200 × 287 mm
|
||||||
|
- 180 × 40 mm
|
||||||
|
> Od 210 i od 297 se odečte 10 mm z každé strany, tedy 20 mm. 190 × 277 mm.
|
||||||
6
content/technicka-grafika/1-rocnik/02-druhy-car.en.md
Normal file
6
content/technicka-grafika/1-rocnik/02-druhy-car.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Line types and line weights
|
||||||
|
popis: Outlines, hidden edges, centrelines and dimensions.
|
||||||
|
nazev_cviceni: Quiz: lines
|
||||||
|
nadpis_kvizu: Name the line
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/02-druhy-car.md
Normal file
80
content/technicka-grafika/1-rocnik/02-druhy-car.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-druhy-car
|
||||||
|
nazev: Druhy a tloušťky čar
|
||||||
|
popis: Obrys, skryté hrany, osy a kóty podle normy.
|
||||||
|
nazev_cviceni: Kvíz: čáry
|
||||||
|
nadpis_kvizu: Poznejte druh čáry
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tlustá plná čára
|
||||||
|
*Obrys*
|
||||||
|
|
||||||
|
- Viditelné hrany a obrysy se kreslí souvislou tlustou čarou.
|
||||||
|
- V AutoCADu jí patří vlastní hladina, třeba OBRYS, s tloušťkou 0,5 mm.
|
||||||
|
- Tloušťka se nastavuje na hladině, ne u každé čáry zvlášť.
|
||||||
|
- Obrys nesmí být stejně tenký jako kóta, jinak se výkres nedá číst.
|
||||||
|
|
||||||
|
> Tip: hladinu OBRYS nastavte jako aktuální dřív, než začnete kreslit tvar.
|
||||||
|
|
||||||
|
## Tenké čáry
|
||||||
|
*Kóty a hrany*
|
||||||
|
|
||||||
|
- Kóty, odkazy, šrafy a pomocné čáry jsou souvislé a tenké, kolem 0,25 mm.
|
||||||
|
- Skryté hrany, které z daného pohledu nejsou vidět, jsou čárkované a tenké.
|
||||||
|
- Osa díry nebo válce je čerchovaná: dlouhá čárka, tečka, dlouhá čárka.
|
||||||
|
- Osa přesahuje obrys jen o kousek, nepřetahuje se přes celý výkres.
|
||||||
|
|
||||||
|
> Tip: čárkovaná čára je skrytá hrana. Čerchovaná je osa. Nejsou totéž.
|
||||||
|
|
||||||
|
## Jak to nastavit v AutoCADu
|
||||||
|
*Hladiny*
|
||||||
|
|
||||||
|
- Příkaz `_LAYER` otevře správce hladin. Založte OBRYS, SKRYTE, OSA a KOTA.
|
||||||
|
- U SKRYTE zvolte typ čáry DASHED, u OSA typ CENTER.
|
||||||
|
- Typ čáry se načítá příkazem `_LINETYPE`. Bez načtení ho hladina nenabídne.
|
||||||
|
- Měřítko typu čáry `_LTSCALE` zvětší nebo zmenší mezery v čárkování, ať je čára čitelná.
|
||||||
|
|
||||||
|
> Tip: když čárkování vypadá jako plná čára, je LTSCALE moc velké nebo moc malé.
|
||||||
|
|
||||||
|
## Zadání: tři čáry jedné díry
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Nakreslete obdélník 60 × 40 tlustou plnou čarou.
|
||||||
|
- Svislou osu veďte středem a nechte ji přesáhnout obrys o 3 mm na každou stranu.
|
||||||
|
- Jednu zadní hranu, která z pohledu není vidět, nakreslete tenkou čárkovanou čarou.
|
||||||
|
- Každý druh čáry musí ležet na své hladině.
|
||||||
|
|
||||||
|
> Tip: osa dlouhá 46 mm při výšce tělesa 40 mm přesahuje o 3 mm nahoře i dole.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jakou čarou se kreslí viditelný obrys?
|
||||||
|
- Tenkou čárkovanou
|
||||||
|
- [x] Tlustou plnou
|
||||||
|
- Tenkou čerchovanou
|
||||||
|
- Tlustou čerchovanou
|
||||||
|
> Viditelné hrany jsou souvislé a tlustší než kóty, osy i skryté hrany.
|
||||||
|
|
||||||
|
## Co znamená tenká čárkovaná čára?
|
||||||
|
- Osu díry
|
||||||
|
- [x] Skrytou hranu
|
||||||
|
- Obrys
|
||||||
|
- Šrafu
|
||||||
|
> Čárkovaná čára je hrana, kterou v daném pohledu nevidíme. Osa je čerchovaná.
|
||||||
|
|
||||||
|
## Jakou čarou se kreslí osa válce?
|
||||||
|
- Tlustou plnou
|
||||||
|
- Tenkou čárkovanou
|
||||||
|
- [x] Tenkou čerchovanou
|
||||||
|
- Vlnovkou
|
||||||
|
> Osa je dlouhá čárka, tečka, dlouhá čára. V AutoCADu je to typ CENTER.
|
||||||
|
|
||||||
|
## Proč má mít obrys vlastní hladinu?
|
||||||
|
- Aby šel smazat jen razítko
|
||||||
|
- [x] Aby měla tloušťka a typ čáry jedno místo
|
||||||
|
- Hladiny v AutoCADu nejsou
|
||||||
|
- Obrys se kreslí jen od ruky
|
||||||
|
> Tloušťka i typ se nastaví na hladině. Všechny obrysy je pak mají stejné.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: The AutoCAD workspace
|
||||||
|
popis: Model space, the command line, units and limits.
|
||||||
|
nazev_cviceni: Quiz: the workspace
|
||||||
|
nadpis_kvizu: Check the first drawing setup
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/03-prostredi-autocadu.md
Normal file
80
content/technicka-grafika/1-rocnik/03-prostredi-autocadu.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-prostredi
|
||||||
|
nazev: Prostředí AutoCADu
|
||||||
|
popis: Model, příkazový řádek, jednotky a meze.
|
||||||
|
nazev_cviceni: Kvíz: prostředí
|
||||||
|
nadpis_kvizu: Ověřte si první nastavení výkresu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Kam se kreslí
|
||||||
|
*Model*
|
||||||
|
|
||||||
|
- Součást se kreslí v modelu. Papír, rámeček a výřezy patří až do rozvržení.
|
||||||
|
- Příkazový řádek je dole. Čte se pořád: AutoCAD se ptá na další bod.
|
||||||
|
- Stisk Enter nebo mezerník zopakuje poslední příkaz.
|
||||||
|
- Esc příkaz zruší. Neukládejte rozpracovaný příkaz klávesou Esc uprostřed bodu.
|
||||||
|
|
||||||
|
> Tip: když AutoCAD „nic nedělá“, podívejte se, na co se příkazový řádek ptá.
|
||||||
|
|
||||||
|
## Příkaz, který funguje vždy
|
||||||
|
*Podtržítko*
|
||||||
|
|
||||||
|
- Český AutoCAD má přeložené příkazy. Úsečka se jmenuje ÚSEČKA.
|
||||||
|
- Mezinárodní jméno se píše s podtržítkem: `_LINE`. Funguje v každé jazykové verzi.
|
||||||
|
- Na pásu karet je stejný příkaz pod ikonou. Ikona i text dělají totéž.
|
||||||
|
- V těchto lekcích je u každého kroku mezinárodní příkaz. Naučte se ho psát.
|
||||||
|
|
||||||
|
> Tip: `_LINE` a ÚSEČKA spustí stejné kreslení. Podtržítko se hodí, když čeština na klávesnici zlobí.
|
||||||
|
|
||||||
|
## Jednotky a meze
|
||||||
|
*Milimetry*
|
||||||
|
|
||||||
|
- `_UNITS` nastavte na desetinné milimetry. Úhly nechte ve stupních.
|
||||||
|
- Přesnost 0 stačí na celé milimetry, 0,0 když budete potřebovat desetinu.
|
||||||
|
- `_LIMITS` určí levý dolní a pravý horní roh kreslicí plochy, třeba 0,0 a 420,297.
|
||||||
|
- `_ZOOM` a volba All ukáže celé meze. Kolečko myši přibližuje ke kurzoru.
|
||||||
|
|
||||||
|
> Tip: nový výkres začněte jednotkami. Přepočet z palců na milimetry uprostřed práce nic nespraví.
|
||||||
|
|
||||||
|
## Zadání: prázdný výkres A3
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Založte soubor v milimetrech a nastavte meze 0,0 až 420,297.
|
||||||
|
- Příkazem `_RECTANG` nakreslete obrys papíru z bodu 0,0 do bodu 420,297.
|
||||||
|
- Přibližte vše příkazem `_ZOOM` a volbou Extents.
|
||||||
|
- Uložte soubor jako A3-prazdny.dwg.
|
||||||
|
|
||||||
|
> Tip: Extents přiblíží to, co je nakreslené. All přiblíží meze, i když jsou prázdné.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Kde se kreslí tvar součásti?
|
||||||
|
- V rozvržení, přes razítko
|
||||||
|
- [x] V modelu
|
||||||
|
- Jen na pásu karet
|
||||||
|
- V příkazu PLOT
|
||||||
|
> Model je prostor součásti. Rozvržení je papír, na který se model později vloží výřezem.
|
||||||
|
|
||||||
|
## Co udělá příkaz `_LINE` v českém AutoCADu?
|
||||||
|
- Nastaví jednotky
|
||||||
|
- [x] Spustí kreslení úsečky
|
||||||
|
- Smaže poslední čáru
|
||||||
|
- Otevře hladiny
|
||||||
|
> Podtržítko volá mezinárodní příkaz. `_LINE` je úsečka, ať je AutoCAD v jakémkoli jazyce.
|
||||||
|
|
||||||
|
## Jakou jednotku má školní výkres?
|
||||||
|
- Palec
|
||||||
|
- [x] Milimetr
|
||||||
|
- Metr
|
||||||
|
- Pixel
|
||||||
|
> `_UNITS` nastavte na desetinné milimetry dřív, než zadáte první rozměr.
|
||||||
|
|
||||||
|
## Co ukáže `_ZOOM` s volbou Extents?
|
||||||
|
- Celé nastavené meze, i prázdné
|
||||||
|
- [x] Všechno, co je nakreslené
|
||||||
|
- Jen razítko
|
||||||
|
- Poslední příkaz
|
||||||
|
> Extents orámuje nakreslené objekty. All ukáže meze výkresu.
|
||||||
6
content/technicka-grafika/1-rocnik/04-souradnice.en.md
Normal file
6
content/technicka-grafika/1-rocnik/04-souradnice.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Coordinates
|
||||||
|
popis: Absolute points, relative moves and polar entry.
|
||||||
|
nazev_cviceni: Quiz: coordinates
|
||||||
|
nadpis_kvizu: Find the next point
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/04-souradnice.md
Normal file
80
content/technicka-grafika/1-rocnik/04-souradnice.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-souradnice
|
||||||
|
nazev: Souřadnice
|
||||||
|
popis: Absolutní bod, relativní posun a polární zápis.
|
||||||
|
nazev_cviceni: Kvíz: souřadnice
|
||||||
|
nadpis_kvizu: Dopočítejte další bod
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Absolutní souřadnice
|
||||||
|
*Od počátku*
|
||||||
|
|
||||||
|
- Bod 40,25 leží 40 mm vpravo a 25 mm nahoru od počátku 0,0.
|
||||||
|
- Čárka odděluje X a Y. Desetinná čárka v čísle se v AutoCADu píše tečkou: 10.5
|
||||||
|
- Osa X míří vpravo, osa Y nahoru. Tak je natočený model při startu.
|
||||||
|
- Absolutní bod nezávisí na tom, kde jste skončili minule.
|
||||||
|
|
||||||
|
> Tip: když se výkres „rozjede“ mimo papír, někdo zadal absolutní bod místo posunu.
|
||||||
|
|
||||||
|
## Relativní souřadnice
|
||||||
|
*Zavináč*
|
||||||
|
|
||||||
|
- `@30,0` znamená 30 mm vpravo od posledního bodu, výška se nemění.
|
||||||
|
- `@0,40` je 40 mm nahoru. `@-20,0` je 20 mm doleva.
|
||||||
|
- Zavináč se píše před čísla. Bez něj AutoCAD čte absolutní bod.
|
||||||
|
- Při kreslení `_LINE` se tak skládá tvar bod za bodem.
|
||||||
|
|
||||||
|
> Tip: obdélník 70 × 40 z bodu 10,10: `@70,0` pak `@0,40` pak `@-70,0` a zavřít volbou Close.
|
||||||
|
|
||||||
|
## Polární souřadnice
|
||||||
|
*Délka a úhel*
|
||||||
|
|
||||||
|
- `@50<90` je úsečka dlouhá 50 mm směrem 90 stupňů, tedy kolmo nahoru.
|
||||||
|
- Úhel se měří od kladné osy X proti směru hodinových ručiček.
|
||||||
|
- `@40<0` míří vpravo, `@40<180` vlevo, `@40<270` dolů.
|
||||||
|
- Špičatá závorka se píše bez mezery. Mezera by příkaz ukončila.
|
||||||
|
|
||||||
|
> Tip: úhel 45 stupňů je šikmo vpravo nahoru. Délka je vždy skutečná, ne průmět.
|
||||||
|
|
||||||
|
## Zadání: obdélník ze souřadnic
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Spusťte `_LINE` v bodě 20,20.
|
||||||
|
- Pokračujte `@80,0`, potom `@0,50`, potom `@-80,0`.
|
||||||
|
- Útvar zavřete volbou Close, ne ručním bodem.
|
||||||
|
- Změřte `_DIST` mezi levým dolním a pravým horním rohem. Má vyjít 94,3 mm, tedy přepona 80 a 50.
|
||||||
|
|
||||||
|
> Tip: Close spojí poslední bod s prvním. Ruční bod 20,20 nemusí trefit počátek a obrys zůstane otevřený.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co znamená zápis `@0,40`?
|
||||||
|
- Bod 0,40 od počátku výkresu
|
||||||
|
- [x] 40 mm nahoru od posledního bodu
|
||||||
|
- 40 mm vpravo od počátku
|
||||||
|
- Úhel 40 stupňů
|
||||||
|
> Zavináč čte posun od posledního bodu. Nula v X a 40 v Y je čistě nahoru.
|
||||||
|
|
||||||
|
## Kam míří `@60<180`?
|
||||||
|
- 60 mm nahoru
|
||||||
|
- [x] 60 mm doleva
|
||||||
|
- 180 mm vpravo
|
||||||
|
- Do počátku
|
||||||
|
> Úhel 180 stupňů je záporná osa X, tedy doleva. 60 je délka úsečky.
|
||||||
|
|
||||||
|
## Jak AutoCAD pozná desetinné číslo?
|
||||||
|
- Čárkou: 10,5,0
|
||||||
|
- [x] Tečkou: 10.5
|
||||||
|
- Zlomkem 21/2
|
||||||
|
- Mezerou 10 5
|
||||||
|
> Čárka odděluje X a Y. Desetina se píše tečkou, třeba 10.5,20.
|
||||||
|
|
||||||
|
## Proč útvar zavřít volbou Close?
|
||||||
|
- Aby se smazala první úsečka
|
||||||
|
- [x] Aby se poslední bod trefil do prvního
|
||||||
|
- Close nastaví měřítko
|
||||||
|
- Close je totéž co Esc
|
||||||
|
> Ručně opsaný první bod často mine o zlomek milimetru a obrys nejde vyšrafovat.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Lines, circles, arcs and rectangles
|
||||||
|
popis: The four commands every part starts with.
|
||||||
|
nazev_cviceni: Quiz: basic objects
|
||||||
|
nadpis_kvizu: Pick the right command
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/05-zakladni-entity.md
Normal file
80
content/technicka-grafika/1-rocnik/05-zakladni-entity.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-zakladni-entity
|
||||||
|
nazev: Úsečka, kružnice, oblouk a obdélník
|
||||||
|
popis: Čtyři příkazy, kterými začíná každá součást.
|
||||||
|
nazev_cviceni: Kvíz: základní entity
|
||||||
|
nadpis_kvizu: Vyberte správný příkaz
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Úsečka a obdélník
|
||||||
|
*Hrany*
|
||||||
|
|
||||||
|
- `_LINE` chce první a další bod. Končí se Enterem, zavření obrysu volbou Close.
|
||||||
|
- `_RECTANG` chce dva protilehlé rohy. Z bodu 0,0 a `@90,40` vznikne obdélník 90 × 40.
|
||||||
|
- Obdélník je jedna uzavřená křivka. Úsečky jsou samostatné objekty.
|
||||||
|
- Uzavřená křivka se později líp šrafuje a vysouvá do 3D.
|
||||||
|
|
||||||
|
> Tip: když budete tvar vysouvat, kreslete ho jako `_RECTANG` nebo uzavřenou `_PLINE`, ne jako čtyři volné úsečky.
|
||||||
|
|
||||||
|
## Kružnice
|
||||||
|
*Díry*
|
||||||
|
|
||||||
|
- `_CIRCLE` se nejčastěji zadá středem a poloměrem.
|
||||||
|
- Volba D přepne na průměr. U díry Ø12 je průměr 12 a poloměr 6.
|
||||||
|
- Střed díry se kótuje, ne její okraj. Okraj je důsledek průměru.
|
||||||
|
- Víc stejných děr se nekreslí znovu: první se zkopíruje nebo rozloží do pole.
|
||||||
|
|
||||||
|
> Tip: v zadání Ø znamená průměr. Do příkazu s poloměrem dáte polovinu.
|
||||||
|
|
||||||
|
## Oblouk
|
||||||
|
*Zaoblení z příkazu*
|
||||||
|
|
||||||
|
- `_ARC` umí oblouk třemi body nebo středem, počátkem a úhlem.
|
||||||
|
- Zaoblení rohu ale nedělejte obloukem od ruky. Na to je později `_FILLET`.
|
||||||
|
- Oblouk má směr. Špatné pořadí bodů ho vyklenu na druhou stranu.
|
||||||
|
- U drážky se oblouk často nahradí `_PLINE` s volbou Arc uprostřed úseček.
|
||||||
|
|
||||||
|
> Tip: tři body oblouku zadávejte v pořadí, v jakém oblouk plyne. Prostřední bod je na oblouku, ne střed kružnice.
|
||||||
|
|
||||||
|
## Zadání: destička s dírou
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- `_RECTANG` z 0,0 do `@90,50`.
|
||||||
|
- Střed destičky je 45,25. Tam `_CIRCLE`, volba D, průměr 16.
|
||||||
|
- Osu svislou i vodorovnou nechte přesáhnout obrys o 3 mm. Patří na hladinu OSA.
|
||||||
|
- Uložte jako desticka-90x50.dwg.
|
||||||
|
|
||||||
|
> Tip: polovina z 90 je 45 a polovina z 50 je 25. Střed neměřte od oka.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím nakreslíte obdélník 90 × 40 jedním objektem?
|
||||||
|
- Čtyřmi úsečkami `_LINE`
|
||||||
|
- [x] `_RECTANG` a druhým rohem `@90,40`
|
||||||
|
- `_CIRCLE` s poloměrem 90
|
||||||
|
- `_ARC` o úhlu 90
|
||||||
|
> `_RECTANG` chce dva rohy. Relativní `@90,40` je šířka a výška od prvního rohu.
|
||||||
|
|
||||||
|
## Zadání říká díra Ø12. Jaký poloměr má kružnice?
|
||||||
|
- 12
|
||||||
|
- [x] 6
|
||||||
|
- 24
|
||||||
|
- 3
|
||||||
|
> Průměr je 12, poloměr je polovina. V `_CIRCLE` buď poloměr 6, nebo volba D a průměr 12.
|
||||||
|
|
||||||
|
## Kde leží střed destičky 90 × 50, která začíná v 0,0?
|
||||||
|
- 90,50
|
||||||
|
- [x] 45,25
|
||||||
|
- 0,0
|
||||||
|
- 25,45
|
||||||
|
> Střed je v polovině šířky a polovině výšky.
|
||||||
|
|
||||||
|
## Kdy dát přednost uzavřené křivce před čtyřmi úsečkami?
|
||||||
|
- Nikdy, úsečka je přesnější
|
||||||
|
- [x] Když se obrys bude šrafovat nebo vysouvat
|
||||||
|
- Jen u razítka
|
||||||
|
- Když je tvar otevřený
|
||||||
|
> Šrafa i vysunutí potřebují uzavřenou oblast. Čtyři úsečky, které se netrefí, oblast neutvoří.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Snaps, ortho and polar tracking
|
||||||
|
popis: How to hit an endpoint and draw square.
|
||||||
|
nazev_cviceni: Quiz: precise drawing
|
||||||
|
nadpis_kvizu: Pick the snap and the toggle
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/06-uchopeni-a-orto.md
Normal file
80
content/technicka-grafika/1-rocnik/06-uchopeni-a-orto.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-uchopeni
|
||||||
|
nazev: Úchop, orto a polární trasování
|
||||||
|
popis: Jak trefit konec čáry a kreslit kolmo.
|
||||||
|
nazev_cviceni: Kvíz: přesné kreslení
|
||||||
|
nadpis_kvizu: Vyberte úchop a přepínač
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Úchopy
|
||||||
|
*Koncový bod*
|
||||||
|
|
||||||
|
- Úchop přitáhne kurzor ke geometrii. Bez něj minuta minete konec čáry.
|
||||||
|
- Zapíná se klávesou F3 nebo v stavovém řádku. Nastavení je `_OSNAP`.
|
||||||
|
- Na začátek stačí koncový bod, střed a střed kružnice.
|
||||||
|
- Kolmice a tečna se hodí, až budete napojovat čáru na kružnici.
|
||||||
|
|
||||||
|
> Tip: úchop Střed u úsečky je její polovina. Střed u kružnice je její osa. Jsou to dva různé úchopy.
|
||||||
|
|
||||||
|
## Orto a polární úhel
|
||||||
|
*F8 a F10*
|
||||||
|
|
||||||
|
- Orto, klávesa F8, pustí kurzor jen vodorovně a svisle.
|
||||||
|
- Polární trasování F10 drží i šikmé úhly, obvykle po 45 nebo po 15 stupních.
|
||||||
|
- Orto a volné šikmé kreslení nejdou dohromady. Na šikmou čáru orto vypněte.
|
||||||
|
- Délku při zapnutém ortu napište jen číslem a Enter. Směr určuje myš.
|
||||||
|
|
||||||
|
> Tip: vodorovná čára dlouhá 40 mm je F8, kurzor doprava, napsat 40 a Enter. Nemusíte počítat druhý bod.
|
||||||
|
|
||||||
|
## Proč se výkres rozpadne
|
||||||
|
*Minutí*
|
||||||
|
|
||||||
|
- Dvě čáry, které se „téměř“ dotýkají, nejdou oříznout ani vyšrafovat.
|
||||||
|
- Mezera vznikne, když kliknete vedle koncového bodu a úchop je vypnutý.
|
||||||
|
- `_ZOOM` na roh ukáže mezeru, která na celém výkresu není vidět.
|
||||||
|
- Opravený roh se napojí úchopem, ne posunem od oka.
|
||||||
|
|
||||||
|
> Tip: než odevzdáte výkres, přibližte každý roh. Mezera menší než milimetr na tisku vynikne.
|
||||||
|
|
||||||
|
## Zadání: kříž přesně ve středu
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Nakreslete obdélník 80 × 60 z bodu 0,0.
|
||||||
|
- Svislou osu veďte z úchopu Střed dolní hrany do úchopu Střed horní hrany.
|
||||||
|
- Vodorovnou osu veďte ze Středu levé hrany do Středu pravé.
|
||||||
|
- Osy se mají protnout v bodě 40,30. Ověřte to `_ID`.
|
||||||
|
|
||||||
|
> Tip: `_ID` vypíše souřadnice úchopu. Když průsečík není 40,30, jedna osa minula střed hrany.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Která klávesa zapíná úchopy?
|
||||||
|
- F8
|
||||||
|
- [x] F3
|
||||||
|
- F10
|
||||||
|
- Esc
|
||||||
|
> F3 jsou úchopy, F8 je orto, F10 je polární trasování.
|
||||||
|
|
||||||
|
## Co dělá orto?
|
||||||
|
- Chytá konce čar
|
||||||
|
- [x] Drží kreslení ve vodorovném a svislém směru
|
||||||
|
- Nastaví milimetry
|
||||||
|
- Maže poslední úsečku
|
||||||
|
> Se zapnutým ortem kurzor neuhne do šikma. Délku pak stačí napsat číslem.
|
||||||
|
|
||||||
|
## Proč dvě čáry, které se na obrazovce dotýkají, nejdou vyšrafovat?
|
||||||
|
- Šrafa vyžaduje kóty
|
||||||
|
- [x] Mezi nimi je mezera, konec minul úchop
|
||||||
|
- Hladina OSA to zakazuje
|
||||||
|
- Orto je zapnuté
|
||||||
|
> Od oka minutý konec nechá škvíru. Přiblížení a úchop Koncový bod ji ukážou.
|
||||||
|
|
||||||
|
## Který úchop najde polovinu úsečky?
|
||||||
|
- Střed kružnice
|
||||||
|
- [x] Střed
|
||||||
|
- Koncový bod
|
||||||
|
- Kolmice
|
||||||
|
> Úchop Střed na úsečce je její polovina. Na kružnici je to jiný úchop, střed kružnice.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Move, copy, rotate and mirror
|
||||||
|
popis: Change a finished shape instead of drawing it again.
|
||||||
|
nazev_cviceni: Quiz: editing
|
||||||
|
nadpis_kvizu: Match the command to the task
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/07-posun-kopie-otoceni.md
Normal file
80
content/technicka-grafika/1-rocnik/07-posun-kopie-otoceni.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-posun-kopie
|
||||||
|
nazev: Posun, kopie, otočení a zrcadlení
|
||||||
|
popis: Úprava hotového tvaru místo kreslení znovu.
|
||||||
|
nazev_cviceni: Kvíz: úpravy
|
||||||
|
nadpis_kvizu: Vyberte příkaz podle zadání
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Posun a kopie
|
||||||
|
*Z místa na místo*
|
||||||
|
|
||||||
|
- `_MOVE` objekt odnese. Na původním místě nic nezůstane.
|
||||||
|
- `_COPY` nechá vzor a přidá další. Ptá se na základní bod a pak na nové body.
|
||||||
|
- Základní bod vyberte úchopem, třeba roh nebo střed. Od oka se kopie rozjede.
|
||||||
|
- Víc kopií za sebou vznikne opakovaným zadáním dalšího bodu, bez nového příkazu.
|
||||||
|
|
||||||
|
> Tip: posun o 30 mm doprava je základní bod kdekoli, druhý bod `@30,0`.
|
||||||
|
|
||||||
|
## Otočení
|
||||||
|
*Kolem bodu*
|
||||||
|
|
||||||
|
- `_ROTATE` chce základní bod a úhel. Kladný úhel je proti směru hodin.
|
||||||
|
- 90 otočí doleva, -90 nebo 270 doprava.
|
||||||
|
- Volba Reference vezme současný úhel hrany a řekne, jaký má být nový.
|
||||||
|
- Otáčí se kolem vybraného bodu, ne kolem středu obrazovky.
|
||||||
|
|
||||||
|
> Tip: díru v rohu otočíte kolem středu destičky, ne kolem středu díry, jinak odjede z rozteče.
|
||||||
|
|
||||||
|
## Zrcadlení
|
||||||
|
*Souměrnost*
|
||||||
|
|
||||||
|
- `_MIRROR` chce dva body osy zrcadlení. Osa nemusí být nakreslená předem.
|
||||||
|
- Svislá osa jsou dva body se stejným X. Vodorovná dva body se stejným Y.
|
||||||
|
- Na otázku, zda smazat zdroj, dejte Ne, když má zůstat obě poloviny.
|
||||||
|
- Text se při zrcadlení může otočit naruby. Proměnná MIRRTEXT s hodnotou 0 nechá text čitelný.
|
||||||
|
|
||||||
|
> Tip: souměrnou součást nakreslete z poloviny a zrcadlete. Druhou polovinu neobkreslujte.
|
||||||
|
|
||||||
|
## Zadání: druhá díra zrcadlem
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Destička 100 × 40, levý dolní roh v 0,0.
|
||||||
|
- Díru Ø10 dejte středem do bodu 20,20.
|
||||||
|
- Zrcadlete ji přes svislou osu destičky. Osa prochází body 50,0 a 50,40.
|
||||||
|
- Zdroj nemažte. Druhá díra má střed v 80,20.
|
||||||
|
|
||||||
|
> Tip: 100 minus 20 je 80. Zrcadlo kolem x = 50 převede 20 na 80 a výšku 20 nechá.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím odnesete objekt, aby na původním místě nezůstal?
|
||||||
|
- `_COPY`
|
||||||
|
- [x] `_MOVE`
|
||||||
|
- `_MIRROR`
|
||||||
|
- `_ROTATE`
|
||||||
|
> Kopie zdroj nechá. Posun ho přestěhuje.
|
||||||
|
|
||||||
|
## Jaký úhel otočí tvar o 90 stupňů ve směru hodin?
|
||||||
|
- 90
|
||||||
|
- [x] -90
|
||||||
|
- 180
|
||||||
|
- 45
|
||||||
|
> Kladný úhel jde proti hodinám. Po směru hodin je záporný, tedy -90.
|
||||||
|
|
||||||
|
## Přes co se zrcadlí díra se středem 20,20 na destičce široké 100?
|
||||||
|
- Přes bod 0,0
|
||||||
|
- [x] Přes svislou osu x = 50
|
||||||
|
- Přes vodorovnou osu y = 20
|
||||||
|
- Přes hranu x = 100
|
||||||
|
> Osa souměrnosti destičky je uprostřed šířky. 20 a 80 jsou od ní stejně daleko.
|
||||||
|
|
||||||
|
## Co má být základní bod posunu?
|
||||||
|
- Libovolné místo vedle objektu, od oka
|
||||||
|
- [x] Úchop, třeba roh nebo střed
|
||||||
|
- Vždy počátek 0,0
|
||||||
|
- Střed obrazovky
|
||||||
|
> Úchop podrží rozměr. Kliknutí vedle rohu posune tvar o neznámý kousek navíc.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Assignment: a plate
|
||||||
|
popis: The whole first-year drawing on one part.
|
||||||
|
nazev_cviceni: Quiz: the plate
|
||||||
|
nadpis_kvizu: Check the finished drawing
|
||||||
|
---
|
||||||
80
content/technicka-grafika/1-rocnik/08-zadani-desticka.md
Normal file
80
content/technicka-grafika/1-rocnik/08-zadani-desticka.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-1-zadani-desticka
|
||||||
|
nazev: Zadání: destička
|
||||||
|
popis: Celý výkres z prvního ročníku na jedné součásti.
|
||||||
|
nazev_cviceni: Kvíz: destička
|
||||||
|
nadpis_kvizu: Zkontrolujte hotový výkres
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Co se odevzdává
|
||||||
|
*Zadání*
|
||||||
|
|
||||||
|
- Destička 120 × 70 mm, tloušťka se nekreslí, jde o jeden pohled.
|
||||||
|
- Čtyři díry Ø8. Středy jsou 15 mm od levého i pravého kraje a 15 mm od dolního i horního kraje.
|
||||||
|
- Uprostřed je podélná drážka 40 × 16 se zaoblenými konci. Zatím stačí obdélník, zaoblení přijde ve druháku.
|
||||||
|
- Výkres je na A4, měřítko 1:1, rámeček a razítko z první lekce.
|
||||||
|
|
||||||
|
> Tip: středy děr jsou body 15,15, pak 105,15, pak 15,55 a 105,55. 120 minus 15 je 105, 70 minus 15 je 55.
|
||||||
|
|
||||||
|
## Hladiny a čáry
|
||||||
|
*Pořádek*
|
||||||
|
|
||||||
|
- OBRYS je tlustá plná čára. OSA je tenká čerchovaná. KOTA zatím nechte prázdnou.
|
||||||
|
- Každá díra má svislou i vodorovnou osu, která přesahuje obrys o 3 mm.
|
||||||
|
- Destička má jednu vodorovnou a jednu svislou osu souměrnosti přes celý tvar.
|
||||||
|
- Skryté hrany tu nejsou. Pohled je zepředu a díry jsou průchozí, jejich okraj je vidět.
|
||||||
|
|
||||||
|
> Tip: průchozí díra v tomto pohledu není čárkovaná. Čárkovaná by byla hrana schovaná za materiálem.
|
||||||
|
|
||||||
|
## Postup
|
||||||
|
*Po řadě*
|
||||||
|
|
||||||
|
- Nejdřív rámeček a razítko, potom obrys `_RECTANG` 120 × 70.
|
||||||
|
- Jednu díru `_CIRCLE` o průměru 8 a další tři `_COPY` nebo dvě `_MIRROR`.
|
||||||
|
- Drážku `_RECTANG` 40 × 16 se středem ve středu destičky. Její levý dolní roh je 40,27.
|
||||||
|
- Osy dokreslete úchopem Střed. `_DIST` mezi protilehlými dírami ve vodorovném směru má být 90.
|
||||||
|
|
||||||
|
> Tip: střed destičky je 60,35. Drážka sahá 20 mm doleva a doprava a 8 mm nahoru a dolů.
|
||||||
|
|
||||||
|
## Kontrola před odevzdáním
|
||||||
|
*Co musí sedět*
|
||||||
|
|
||||||
|
- V razítku je název Destička, měřítko 1:1 a materiál, třeba ocel.
|
||||||
|
- Žádná čára obrysu neleží na hladině OSA a žádná osa není plná.
|
||||||
|
- Přiblížené rohy nemají mezeru. Kružnice se dotýká svých os ve středu.
|
||||||
|
- Soubor se jmenuje desticka-120x70.dwg a je v milimetrech.
|
||||||
|
|
||||||
|
> Tip: vypněte hladinu OBRYS. Zůstat mají jen osy a rámeček. Zapněte ji zpět a totéž udělejte s OSA.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Kde leží střed pravé horní díry?
|
||||||
|
- 15,15
|
||||||
|
- [x] 105,55
|
||||||
|
- 120,70
|
||||||
|
- 60,35
|
||||||
|
> Od pravého kraje 15 mm je x = 105. Od horního kraje 15 mm je y = 55.
|
||||||
|
|
||||||
|
## Jaká je vodorovná rozteč levé a pravé díry?
|
||||||
|
- 120
|
||||||
|
- 15
|
||||||
|
- [x] 90
|
||||||
|
- 105
|
||||||
|
> 105 minus 15 je 90. Tolik má ukázat `_DIST` mezi středy.
|
||||||
|
|
||||||
|
## Kam patří obrys destičky?
|
||||||
|
- Na hladinu OSA
|
||||||
|
- [x] Na hladinu OBRYS, tlustou plnou čarou
|
||||||
|
- Čárkovaně, protože díry jsou průchozí
|
||||||
|
- Do razítka
|
||||||
|
> Viditelný obrys je tlustá plná čára. Osa je samostatná hladina.
|
||||||
|
|
||||||
|
## Proč se průchozí díra v tomto pohledu nekreslí čárkovaně?
|
||||||
|
- Čárkovaná čára je zakázaná
|
||||||
|
- [x] Její okraj je z pohledu vidět
|
||||||
|
- Díra se kreslí jen osou
|
||||||
|
- Měřítko je 1:2
|
||||||
|
> Čárkovaně se kreslí hrana, kterou materiál zakrývá. Okraj díry v čelním pohledu vidíme.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Trim, extend and offset
|
||||||
|
popis: Fix lines that overshoot, and keep a constant gap.
|
||||||
|
nazev_cviceni: Quiz: trim and offset
|
||||||
|
nadpis_kvizu: Pick the command and the distance
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/01-orez-a-ekvidistanta.md
Normal file
80
content/technicka-grafika/2-rocnik/01-orez-a-ekvidistanta.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-orez-ekvidistanta
|
||||||
|
nazev: Ořez, prodloužení a ekvidistanta
|
||||||
|
popis: Úprava čar, které přesahují nebo mají stálý odstup.
|
||||||
|
nazev_cviceni: Kvíz: ořez a odstup
|
||||||
|
nadpis_kvizu: Vyberte příkaz a vzdálenost
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Ořez a prodloužení
|
||||||
|
*Na hranu*
|
||||||
|
|
||||||
|
- `_TRIM` uřízne kus objektu po hraně, kterou vyberete jako řeznou.
|
||||||
|
- V novějším AutoCADu stačí Enter bez výběru hran a řeže se o všechno, co čára protíná.
|
||||||
|
- `_EXTEND` dělá opak: natáhne čáru až k vybrané hraně.
|
||||||
|
- Maže se ta část, na kterou kliknete. Klik na špatnou stranu uřízne to, co mělo zůstat.
|
||||||
|
|
||||||
|
> Tip: když ořez „nebere“, čáry se ve skutečnosti neprotínají. Přibližte roh a napojte ho úchopem.
|
||||||
|
|
||||||
|
## Ekvidistanta
|
||||||
|
*Stálý odstup*
|
||||||
|
|
||||||
|
- `_OFFSET` vytvoří rovnoběžnou křivku v zadané vzdálenosti.
|
||||||
|
- Hodí se na tloušťku stěny, rámeček i osazení. Zadáte vzdálenost a stranu.
|
||||||
|
- U kružnice vznikne soustředná kružnice. Průměr se změní o dvojnásobek odstupu.
|
||||||
|
- Ekvidistanta obdélníku udělá menší nebo větší obdélník se stejnými rohy, ne se zaoblením.
|
||||||
|
|
||||||
|
> Tip: stěna tlustá 8 mm je ekvidistanta obrysu o 8 mm dovnitř. U kružnice Ø40 tak vznikne Ø24.
|
||||||
|
|
||||||
|
## Co neřeže
|
||||||
|
*Otevřený roh*
|
||||||
|
|
||||||
|
- Ořez potřebuje průsečík. Dvě čáry, které se jen míjejí, se neoříznou.
|
||||||
|
- Nejdřív je prodlužte nebo je nakreslete znovu s úchopem, teprve pak řežte.
|
||||||
|
- Ekvidistanta otevřené křivky zůstane otevřená. Rohy se samy nedovřou.
|
||||||
|
- Po ořezu zkontrolujte, že nezůstaly pahýly kratší než milimetr. Ty `_ERASE` smaže.
|
||||||
|
|
||||||
|
> Tip: pahýl po ořezu je pořád objekt. Na tisku udělá tečku, která do výkresu nepatří.
|
||||||
|
|
||||||
|
## Zadání: rámeček stěny
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Vnější obdélník 100 × 60. Ekvidistantou o 8 mm dovnitř udělejte vnitřní obrys.
|
||||||
|
- Vnitřní obdélník má tedy 84 × 44.
|
||||||
|
- Čáry, které po dalších úpravách přesáhnou vnější roh, ořízněte.
|
||||||
|
- Oba obrysy nechte na hladině OBRYS. Kóty zatím nepřidávejte.
|
||||||
|
|
||||||
|
> Tip: 100 minus dvakrát 8 je 84. 60 minus 16 je 44. Když vnitřek vyjde jinak, odstup šel ven, ne dovnitř.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Který příkaz uřízne přesahující kus čáry?
|
||||||
|
- `_OFFSET`
|
||||||
|
- [x] `_TRIM`
|
||||||
|
- `_EXTEND`
|
||||||
|
- `_MOVE`
|
||||||
|
> Ořez bere kus za řeznou hranou. Prodloužení čáru naopak natahuje.
|
||||||
|
|
||||||
|
## Ekvidistanta kružnice Ø40 o 8 mm dovnitř má průměr?
|
||||||
|
- 32
|
||||||
|
- [x] 24
|
||||||
|
- 48
|
||||||
|
- 8
|
||||||
|
> Poloměr klesne o 8, průměr o 16. 40 minus 16 je 24.
|
||||||
|
|
||||||
|
## Proč ořez na dvou čarách nic neudělá?
|
||||||
|
- Orto je zapnuté
|
||||||
|
- [x] Čáry se neprotínají
|
||||||
|
- Chybí razítko
|
||||||
|
- Objekt je kružnice
|
||||||
|
> Bez průsečíku není kde řezat. Nejdřív čáry napojte, potom řežte.
|
||||||
|
|
||||||
|
## Vnitřní obrys obdélníku 100 × 60 po ekvidistantě 8 mm dovnitř je?
|
||||||
|
- 100 × 60
|
||||||
|
- 92 × 52
|
||||||
|
- [x] 84 × 44
|
||||||
|
- 108 × 68
|
||||||
|
> Z šířky i výšky se ubere 8 mm z každé strany, tedy 16 mm. 84 × 44.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Fillets and chamfers
|
||||||
|
popis: A corner by a radius or by two distances.
|
||||||
|
nazev_cviceni: Quiz: corners
|
||||||
|
nadpis_kvizu: Work out the corner
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/02-zaobleni-a-zkoseni.md
Normal file
80
content/technicka-grafika/2-rocnik/02-zaobleni-a-zkoseni.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-zaobleni-zkoseni
|
||||||
|
nazev: Zaoblení a zkosení
|
||||||
|
popis: Roh poloměrem nebo dvěma vzdálenostmi.
|
||||||
|
nazev_cviceni: Kvíz: rohy
|
||||||
|
nadpis_kvizu: Dopočítejte roh
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Zaoblení
|
||||||
|
*Poloměr*
|
||||||
|
|
||||||
|
- `_FILLET` spojí dvě úsečky obloukem. Volba R nastaví poloměr.
|
||||||
|
- Poloměr 8 znamená oblouk o poloměru 8 mm, ne průměr.
|
||||||
|
- R0 ostrý roh jen napojí, oblouk nevznikne. Hodí se na nedotažené čáry.
|
||||||
|
- Příkaz si poloměr pamatuje. Než zaoblíte jiný roh, R zkontrolujte.
|
||||||
|
|
||||||
|
> Tip: u drážky se zaobleným koncem je poloměr polovina šířky drážky. Drážka 16 mm má R8.
|
||||||
|
|
||||||
|
## Zkosení
|
||||||
|
*Dvě vzdálenosti*
|
||||||
|
|
||||||
|
- `_CHAMFER` srazí roh úsečkou. Volba D zadá dvě vzdálenosti od vrcholu.
|
||||||
|
- Stejné vzdálenosti 2 a 2 srazí roh pod 45 stupňů, pokud jsou hrany kolmé.
|
||||||
|
- Různé vzdálenosti, třeba 2 a 4, dají šikminu, která není 45 stupňů.
|
||||||
|
- Zkosení se kótuje délkou a úhlem, nebo oběma délkami. Ne poloměrem.
|
||||||
|
|
||||||
|
> Tip: na výkresu je zkosení 2 × 45°. V příkazu jsou to vzdálenosti 2 a 2, ne úhel napsaný místo D.
|
||||||
|
|
||||||
|
## Kdy který roh
|
||||||
|
*Dílec*
|
||||||
|
|
||||||
|
- Zaoblení bývá tam, kde se obrábí frézou nebo kde ostrá hrana vadí.
|
||||||
|
- Zkosení bývá na hraně díry a na konci hřídele, aby díl navedl protikus.
|
||||||
|
- Na jednom rohu nedávejte zaoblení i zkosení. Zadání říká jen jedno.
|
||||||
|
- Po zaoblení se změní délka rovné hrany. Kóta rovné části už není celá šířka.
|
||||||
|
|
||||||
|
> Tip: hrana dlouhá 40 mm se dvěma zaobleními R5 na koncích má rovný úsek 30 mm.
|
||||||
|
|
||||||
|
## Zadání: drážka a sražení
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Obdélník 80 × 30. Na obou kratších koncích `_FILLET` s R8, na obou dlouhých hranách.
|
||||||
|
- Vznikne oválná drážka: rovný střed je dlouhý 64 mm, šířka zůstane 30? Pozor, R8 na výšce 30 nejde, šířka drážky musí být 16.
|
||||||
|
- Překreslete tvar jako drážku 64 × 16 a konce zaoblete R8.
|
||||||
|
- Jeden vnější roh destičky 80 × 50 mimo drážku srazte `_CHAMFER` 2 a 2.
|
||||||
|
|
||||||
|
> Tip: poloměr zaoblení konce drážky se rovná polovině její šířky. 16 / 2 = 8.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co nastaví `_FILLET` volbou R8?
|
||||||
|
- Zkosení 8 × 8
|
||||||
|
- [x] Oblouk o poloměru 8 mm
|
||||||
|
- Průměr 8
|
||||||
|
- Osazení o 8 mm
|
||||||
|
> R je poloměr oblouku. Průměr oblouku by byl 16.
|
||||||
|
|
||||||
|
## Jak v příkazu zadáte zkosení 2 × 45° na kolmém rohu?
|
||||||
|
- R2
|
||||||
|
- [x] Vzdálenosti 2 a 2
|
||||||
|
- Úhel 45 místo obou vzdáleností, bez délek
|
||||||
|
- Ekvidistantu 2
|
||||||
|
> Stejné vzdálenosti na kolmých hranách dají 45 stupňů. Do příkazu patří délky.
|
||||||
|
|
||||||
|
## Jaký poloměr má konec drážky široké 16 mm?
|
||||||
|
- 16
|
||||||
|
- [x] 8
|
||||||
|
- 4
|
||||||
|
- 32
|
||||||
|
> Konec je půlkruh. Jeho poloměr je polovina šířky.
|
||||||
|
|
||||||
|
## Co udělá zaoblení R0?
|
||||||
|
- Smaže roh
|
||||||
|
- [x] Napojí čáry ostrým rohem
|
||||||
|
- Udělá kružnici
|
||||||
|
- Nastaví měřítko
|
||||||
|
> Nulový poloměr je způsob, jak dvě minuté čáry spojit do ostrého rohu.
|
||||||
6
content/technicka-grafika/2-rocnik/03-hladiny.en.md
Normal file
6
content/technicka-grafika/2-rocnik/03-hladiny.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Layers
|
||||||
|
popis: Colour, linetype and weight in one place.
|
||||||
|
nazev_cviceni: Quiz: layers
|
||||||
|
nadpis_kvizu: Decide which layer an object belongs on
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/03-hladiny.md
Normal file
80
content/technicka-grafika/2-rocnik/03-hladiny.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-hladiny
|
||||||
|
nazev: Hladiny
|
||||||
|
popis: Barva, typ čáry a tloušťka na jednom místě.
|
||||||
|
nazev_cviceni: Kvíz: hladiny
|
||||||
|
nadpis_kvizu: Rozhodněte, co patří na kterou hladinu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Proč hladiny
|
||||||
|
*Pořádek*
|
||||||
|
|
||||||
|
- Hladina nese barvu, typ čáry i tloušťku. Objekt, který na ní vznikne, je zdědí.
|
||||||
|
- Obrys, osa, skrytá hrana, šrafa, kóta a rámeček jsou samostatné hladiny.
|
||||||
|
- Vypnutá hladina na obrazovce zmizí, ale tisknout se pořád může. Zmrazená se netiskne a nepřepočítává.
|
||||||
|
- Zamčená hladina je vidět, ale nejde omylem posunout.
|
||||||
|
|
||||||
|
> Tip: kóty nikdy nekreslete na OBRYS. Až budete obrys měnit, kóty by odjely s ním.
|
||||||
|
|
||||||
|
## Aktuální hladina
|
||||||
|
*Než kliknete*
|
||||||
|
|
||||||
|
- Nový objekt padne na aktuální hladinu. Je to ta, která je ve správci vybraná jako současná.
|
||||||
|
- `_LAYER` založí hladinu. Poklepáním ji nastavíte jako aktuální.
|
||||||
|
- Objekt na špatné hladině přesuňte ve vlastnostech, příkaz `_PROPERTIES` nebo horní lišta.
|
||||||
|
- Barvu a typ čáry nechte ByLayer. Barva nastavená na objektu se se hladinou přestane řídit.
|
||||||
|
|
||||||
|
> Tip: ByLayer znamená „ber to, co říká hladina“. Je to výchozí a na školním výkresu má tak zůstat.
|
||||||
|
|
||||||
|
## Názvy, které obstojí
|
||||||
|
*Úmluva*
|
||||||
|
|
||||||
|
- OBRYS, OSA, SKRYTE, SRAFA, KOTA, RAM, TEXT. Krátce a bez mezer.
|
||||||
|
- OBRYS je bílá nebo černá, tloušťka 0,50. Ostatní tenké, 0,25, každá svou barvou.
|
||||||
|
- SKRYTE má typ DASHED, OSA typ CENTER. Ostatní Continuous.
|
||||||
|
- Hladinu 0 nemažte a nekreslete na ni součást. Je systémová.
|
||||||
|
|
||||||
|
> Tip: hladina 0 je schovaná v blocích. Součást na ní se později špatně barví.
|
||||||
|
|
||||||
|
## Zadání: šest hladin
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- V souboru destičky založte OBRYS, OSA, SKRYTE, SRAFA, KOTA a RAM.
|
||||||
|
- Obrys přesuňte na OBRYS, osy na OSA, rámeček na RAM.
|
||||||
|
- OSA musí mít typ CENTER a po `_LTSCALE` 0,5 nebo 1 musí být čerchování vidět.
|
||||||
|
- Vypněte OBRYS. Na obrazovce smí zůstat osy a rámeček, nic z tvaru.
|
||||||
|
|
||||||
|
> Tip: když osa vypadá plně, typ čáry není načtený, nebo je LTSCALE mimo rozumné měřítko.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Kam patří kóta?
|
||||||
|
- Na hladinu OBRYS
|
||||||
|
- [x] Na vlastní hladinu KOTA
|
||||||
|
- Na hladinu 0
|
||||||
|
- Kamkoli, hladina je jen barva pozadí
|
||||||
|
> Kóta má vlastní tenkou čáru a při úpravě obrysu nesmí odjet s ním.
|
||||||
|
|
||||||
|
## Co znamená ByLayer?
|
||||||
|
- Objekt barvu hladiny ignoruje
|
||||||
|
- [x] Objekt si bere barvu a typ čáry z hladiny
|
||||||
|
- Hladina je zamčená
|
||||||
|
- Objekt se netiskne
|
||||||
|
> ByLayer je správné nastavení. Barva „natvrdo“ na objektu se hladinou už neřídí.
|
||||||
|
|
||||||
|
## Čím se liší vypnutá a zmrazená hladina?
|
||||||
|
- Ničím
|
||||||
|
- [x] Zmrazená se navíc netiskne a výkres ji nepočítá
|
||||||
|
- Vypnutá se nedá znovu zapnout
|
||||||
|
- Zmrazená je vidět červeně
|
||||||
|
> Vypnutí je jen obrazovka. Zmrazení hladinu vyřadí i z tisku a z přepočtu.
|
||||||
|
|
||||||
|
## Proč nekreslit součást na hladinu 0?
|
||||||
|
- Hladina 0 nejde použít
|
||||||
|
- [x] Je systémová a v blocích se chová jinak
|
||||||
|
- Nepouští tlusté čáry
|
||||||
|
- Smí na ni jen razítko
|
||||||
|
> Hladina 0 má zvláštní roli uvnitř bloků. Součást patří na pojmenované hladiny.
|
||||||
6
content/technicka-grafika/2-rocnik/04-srafy.en.md
Normal file
6
content/technicka-grafika/2-rocnik/04-srafy.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Hatches
|
||||||
|
popis: Sectioned material, hatch scale and a closed boundary.
|
||||||
|
nazev_cviceni: Quiz: hatches
|
||||||
|
nadpis_kvizu: Decide what gets hatched
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/04-srafy.md
Normal file
80
content/technicka-grafika/2-rocnik/04-srafy.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-srafy
|
||||||
|
nazev: Šrafy
|
||||||
|
popis: Řez materiálem, měřítko šrafy a uzavřená oblast.
|
||||||
|
nazev_cviceni: Kvíz: šrafy
|
||||||
|
nadpis_kvizu: Rozhodněte, co se šrafuje
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Co šrafa říká
|
||||||
|
*Materiál*
|
||||||
|
|
||||||
|
- Šrafa v řezu znamená materiál, který řezná rovina proťala.
|
||||||
|
- Ocel se na školním výkresu šrafuje tenkými čarami pod 45 stupňů.
|
||||||
|
- Dva sousední díly mají šrafu na opačnou stranu, nebo jinou rozteč.
|
||||||
|
- Díra, drážka a prázdno se nešrafují. Není tam materiál.
|
||||||
|
|
||||||
|
> Tip: šrafa pod 45 stupni nesmí být rovnoběžná s obrysem. Když je obrys šikmý, úhel šrafy změňte.
|
||||||
|
|
||||||
|
## Příkaz
|
||||||
|
*Uzavřená oblast*
|
||||||
|
|
||||||
|
- `_HATCH` a vzor ANSI31. Klikněte dovnitř uzavřené oblasti.
|
||||||
|
- Oblast musí být dovřená. Mezera v rohu šrafu zastaví nebo ji vylije ven.
|
||||||
|
- Měřítko vzoru zvětší rozteč čar. Moc hustá šrafa na tisku zčerná.
|
||||||
|
- Šrafa patří na hladinu SRAFA, tenkou čarou. Ne na OBRYS.
|
||||||
|
|
||||||
|
> Tip: asociativní šrafa se přizpůsobí, když obrys později natáhnete. Na školní práci ji nechte zapnutou.
|
||||||
|
|
||||||
|
## Co se v podélném řezu nešrafuje
|
||||||
|
*Výjimky*
|
||||||
|
|
||||||
|
- Hřídel, žebro, šroub a pero v podélném řezu zůstávají bez šrafy.
|
||||||
|
- V příčném řezu se tatáž hřídel šrafuje. Rozhoduje směr řezu, ne součást.
|
||||||
|
- Tenká stěna řezaná podélně se šrafuje. Žebro ne, aby nepůsobilo jako plný kus.
|
||||||
|
- Obrys šrafované plochy je pořád tlustá čára. Šrafa ho nenahrazuje.
|
||||||
|
|
||||||
|
> Tip: podélný řez hřídele ukáže osazení obrysem. Šrafa by z hřídele udělala zdánlivě plný hranol.
|
||||||
|
|
||||||
|
## Zadání: řez destičkou
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Destičku 80 × 20 v řezu A-A vyšrafujte ANSI31, měřítko tak, aby rozteč byla zhruba 2 až 3 mm.
|
||||||
|
- Díru Ø10 uprostřed nešrafujte. Šrafa končí na její hraně.
|
||||||
|
- Šrafu dejte na hladinu SRAFA. Vypnutím této hladiny musí zmizet jen šrafa, obrys zůstane.
|
||||||
|
- Když šrafa vyteče ven, najděte mezeru v obrysu a roh napojte.
|
||||||
|
|
||||||
|
> Tip: jedna oblast vlevo od díry a jedna vpravo. Obě mohou být jedna šrafa, pokud příkaz umí víc oblastí.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co znamená šrafa v řezu?
|
||||||
|
- Skrytou hranu
|
||||||
|
- [x] Materiál proťatý řeznou rovinou
|
||||||
|
- Závit
|
||||||
|
- Měřítko 1:2
|
||||||
|
> Šrafuje se jen to, co řez skutečně prochází. Díra je prázdná.
|
||||||
|
|
||||||
|
## Jaký vzor se na škole používá pro ocel?
|
||||||
|
- Plná výplň
|
||||||
|
- [x] ANSI31, tenké čáry pod 45 stupňů
|
||||||
|
- Tečkování
|
||||||
|
- Čerchovaná osa
|
||||||
|
> ANSI31 je běžný strojařský vzor. Úhel změňte, jen když by splynul s obrysem.
|
||||||
|
|
||||||
|
## Proč šrafa vyteče mimo součást?
|
||||||
|
- Je zapnuté orto
|
||||||
|
- [x] Obrys není uzavřený
|
||||||
|
- Chybí kóta
|
||||||
|
- Hladina je ByLayer
|
||||||
|
> I malá mezera v rohu oblast otevře. Napojte roh a šrafu opakujte.
|
||||||
|
|
||||||
|
## Šrafuje se hřídel v podélném řezu?
|
||||||
|
- Ano, vždy
|
||||||
|
- [x] Ne
|
||||||
|
- Jen když má drážku
|
||||||
|
- Jen ve 3D
|
||||||
|
> Hřídel, žebro a šroub se v podélném řezu nechávají prázdné. V příčném řezu se hřídel šrafuje.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Linear dimensions
|
||||||
|
popis: The real size, extension lines and a dimension style.
|
||||||
|
nazev_cviceni: Quiz: linear dimensions
|
||||||
|
nadpis_kvizu: Read the dimension correctly
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/05-koty-linearni.md
Normal file
80
content/technicka-grafika/2-rocnik/05-koty-linearni.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-koty-linearni
|
||||||
|
nazev: Lineární kóty
|
||||||
|
popis: Skutečný rozměr, pomocné čáry a styl kót.
|
||||||
|
nazev_cviceni: Kvíz: lineární kóty
|
||||||
|
nadpis_kvizu: Přečtěte kótu správně
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Co kóta říká
|
||||||
|
*Skutečný rozměr*
|
||||||
|
|
||||||
|
- Kóta je skutečný rozměr součásti, ne délka čáry na papíře.
|
||||||
|
- Na výkresu 1:2 je čára poloviční a číslo zůstává celé.
|
||||||
|
- `_DIMLINEAR` chce počátek první pomocné čáry, druhé a polohu kótovací čáry.
|
||||||
|
- Body chytejte úchopem. Kóta z bodu vedle rohu je o milimetr špatně a tváří se přesně.
|
||||||
|
|
||||||
|
> Tip: číslo na kótě nepřepisujte ručně. Když nesedí, je špatně geometrie, ne text.
|
||||||
|
|
||||||
|
## Vzhled
|
||||||
|
*Čitelné číslo*
|
||||||
|
|
||||||
|
- Pomocné čáry odstupují od obrysu asi o 1 mm a přesahují kótovací čáru.
|
||||||
|
- Sousední kóty mají stejný odstup, třeba 10 mm od obrysu a 7 mm mezi sebou.
|
||||||
|
- Číslo se píše nad kótovací čáru, ne přes obrys. Kóta neprotíná šrafu, když to jde jinak.
|
||||||
|
- `_DIMSTYLE` nastaví šipky, písmo a jednotky jednou pro celý výkres.
|
||||||
|
|
||||||
|
> Tip: výška písma na A4 bývá 3,5 mm. Menší text se na tisku nedá číst.
|
||||||
|
|
||||||
|
## Řetězec a základna
|
||||||
|
*Víc rozměrů*
|
||||||
|
|
||||||
|
- Řetězec klade kóty za sebou. Součet dílčích kót má dát celkový rozměr.
|
||||||
|
- Kóta od základny měří všechno od jedné hrany. Hodí se na rozteče od dorazu.
|
||||||
|
- Celkový rozměr a součet dílčích se na jedné hraně neopakují bez důvodu.
|
||||||
|
- Kóta patří tam, odkud se rozměr bude vyrábět, ne doprostřed šrafy.
|
||||||
|
|
||||||
|
> Tip: 20 + 45 + 15 = 80. Když součet nesedí s celkovou kótou, jedna pomocná čára minula roh.
|
||||||
|
|
||||||
|
## Zadání: destička 120 × 70
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Okótujte šířku 120 a výšku 70.
|
||||||
|
- Vodorovně přidejte 15 od levého kraje ke středu díry a 90 mezi středy děr.
|
||||||
|
- Svisle 15 od dolní hrany ke středu díry.
|
||||||
|
- Všechny kóty na hladinu KOTA. `_DIST` mezi rohy musí ukázat stejná čísla jako kóty.
|
||||||
|
|
||||||
|
> Tip: kótujte středy děr, ne jejich okraje. Okraj určí až kóta průměru.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co se píše do lineární kóty na výkresu 1:2?
|
||||||
|
- Polovina skutečného rozměru
|
||||||
|
- [x] Skutečný rozměr
|
||||||
|
- Dvojnásobek
|
||||||
|
- Měřítko 1:2 místo čísla
|
||||||
|
> Měřítko mění délku čáry na papíře. Číslo kóty je rozměr součásti.
|
||||||
|
|
||||||
|
## Proč nepřepisovat text kóty ručně?
|
||||||
|
- AutoCAD to zakazuje vždy
|
||||||
|
- [x] Špatné číslo skrývá chybu geometrie
|
||||||
|
- Text musí být v palcích
|
||||||
|
- Kóta by zmizela z hladiny
|
||||||
|
> Správná kóta měří geometrii. Ruční text 120 na čáře dlouhé 119 je lež.
|
||||||
|
|
||||||
|
## Od čeho se kótuje poloha díry?
|
||||||
|
- Od okraje kružnice
|
||||||
|
- [x] Od středu
|
||||||
|
- Od osy razítka
|
||||||
|
- Od nejbližší šrafy
|
||||||
|
> Výroba potřebuje střed. Průměr díry je samostatná kóta.
|
||||||
|
|
||||||
|
## Co má platit pro řetězec 20, 45 a 15 na součásti dlouhé 80?
|
||||||
|
- Součet má být 100
|
||||||
|
- [x] Součet má být 80
|
||||||
|
- Celková kóta se vynechá vždy
|
||||||
|
- Řetězec se kreslí čerchovaně
|
||||||
|
> 20 + 45 + 15 = 80. Nesoulad znamená minutý úchop na některé pomocné čáře.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Diameter, radius and angle dimensions
|
||||||
|
popis: The diameter symbol, a fillet radius and a chamfer angle.
|
||||||
|
nazev_cviceni: Quiz: diameter and angle
|
||||||
|
nadpis_kvizu: Match the symbol to the size
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/06-koty-prumeru-a-uhlu.md
Normal file
80
content/technicka-grafika/2-rocnik/06-koty-prumeru-a-uhlu.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-koty-prumeru
|
||||||
|
nazev: Kóty průměru, poloměru a úhlu
|
||||||
|
popis: Značka průměru, poloměr zaoblení a úhel zkosení.
|
||||||
|
nazev_cviceni: Kvíz: průměr a úhel
|
||||||
|
nadpis_kvizu: Doplňte značku ke správnému rozměru
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Průměr a poloměr
|
||||||
|
*Díra a oblouk*
|
||||||
|
|
||||||
|
- `_DIMDIAMETER` kótuje kružnici. Před číslo patří značka průměru.
|
||||||
|
- `_DIMRADIUS` kótuje oblouk. Před číslo patří R.
|
||||||
|
- Díra má kótu průměru, i když jste ji kreslili poloměrem. Výroba vrtá průměrem.
|
||||||
|
- Zaoblení rohu má kótu poloměru. Jedno R na výkresu platí pro všechny stejné rohy, když to poznámka říká.
|
||||||
|
|
||||||
|
> Tip: díru Ø8 nekótujte jako R4. Nástroj se jmenuje podle průměru.
|
||||||
|
|
||||||
|
## Úhel
|
||||||
|
*Zkosení a klín*
|
||||||
|
|
||||||
|
- `_DIMANGULAR` měří úhel mezi dvěma úsečkami nebo obloukem.
|
||||||
|
- Zkosení 2 × 45° se často zapíše poznámkou, ne obloukovou kótou v každém rohu.
|
||||||
|
- Úhel se měří ve stupních. 45 stupňů je polovina pravého úhlu.
|
||||||
|
- Kóta úhlu nesmí překrýt číslo sousední délky. Odsuňte ji dál od vrcholu.
|
||||||
|
|
||||||
|
> Tip: pravý úhel se na strojařském výkresu obvykle nekótuje. 90 stupňů se předpokládá.
|
||||||
|
|
||||||
|
## Kolik desetin
|
||||||
|
*Přesnost*
|
||||||
|
|
||||||
|
- Školní kóta celého milimetru nemá zbytečné desetinné nuly, pokud styl neříká jinak.
|
||||||
|
- Průměr a poloměr zaokrouhlete stejně jako délky. Nemíchejte 8 a 8,00 bez důvodu.
|
||||||
|
- `_DIMSTYLE` nastaví přesnost i značky najednou. Neupravujte každou kótu ručně.
|
||||||
|
- Kóta, která ukazuje 7,99 místo 8, minula střed. Geometrii opravte, text ne.
|
||||||
|
|
||||||
|
> Tip: 7,99 je skoro jistě úchop vedle středu. `_ID` středu díry to ukáže.
|
||||||
|
|
||||||
|
## Zadání: díra a roh
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Na destičce okótujte díru Ø8 příkazem `_DIMDIAMETER`.
|
||||||
|
- Zaoblení R8 na drážce okótujte `_DIMRADIUS` jednou. K ostatním stejné poznámkou.
|
||||||
|
- Zkosení 2 × 45° zapište k příslušné hraně.
|
||||||
|
- Žádná kóta průměru nesmí ukazovat 4 ani R8 u díry, která se vrtá.
|
||||||
|
|
||||||
|
> Tip: čtyři stejné díry se kótují jednou, s poznámkou 4× Ø8, plus rozteč středů.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jak se kótuje vrtaná díra o průměru 8 mm?
|
||||||
|
- R8
|
||||||
|
- R4
|
||||||
|
- [x] Ø8
|
||||||
|
- 8 bez značky, jako délka
|
||||||
|
> Vrták se volí podle průměru. Poloměr by výrobce přepočítával a snadno spletl.
|
||||||
|
|
||||||
|
## Co znamená R8?
|
||||||
|
- Průměr 8
|
||||||
|
- [x] Poloměr zaoblení 8 mm
|
||||||
|
- Rozteč 8 mm
|
||||||
|
- Tloušťka čáry 8
|
||||||
|
> R je poloměr oblouku. U díry se R nepoužívá.
|
||||||
|
|
||||||
|
## Kóta díry ukazuje 7,99. Co s tím?
|
||||||
|
- Přepsat text na 8
|
||||||
|
- [x] Opravit geometrii, střed minul úchop
|
||||||
|
- Smazat všechny kóty
|
||||||
|
- Změnit měřítko na 1:2
|
||||||
|
> Text by lež zakryl. Střed díry má ležet přesně tam, kde ho kóty polohy uvádějí.
|
||||||
|
|
||||||
|
## Jak jednou kótou popsat čtyři stejné díry Ø8?
|
||||||
|
- Čtyřikrát opsat Ø8
|
||||||
|
- [x] 4× Ø8 a rozteč středů
|
||||||
|
- Jen jednu díru a ostatní nechat bez kóty
|
||||||
|
- R4 krát čtyři
|
||||||
|
> Počet, průměr a poloha středů stačí. Opakovat stejnou kótu u každé díry výkres zanáší.
|
||||||
6
content/technicka-grafika/2-rocnik/07-pole.en.md
Normal file
6
content/technicka-grafika/2-rocnik/07-pole.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Rectangular and polar arrays
|
||||||
|
popis: Repeating holes in a row or on a circle.
|
||||||
|
nazev_cviceni: Quiz: arrays
|
||||||
|
nadpis_kvizu: Work out the spacing and the count
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/07-pole.md
Normal file
80
content/technicka-grafika/2-rocnik/07-pole.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-pole
|
||||||
|
nazev: Obdélníkové a polární pole
|
||||||
|
popis: Opakování děr v řadě nebo na kružnici.
|
||||||
|
nazev_cviceni: Kvíz: pole
|
||||||
|
nadpis_kvizu: Dopočítejte rozteč a počet
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Obdélníkové pole
|
||||||
|
*Řady a sloupce*
|
||||||
|
|
||||||
|
- `_ARRAYRECT` rozkopíruje objekt do řádků a sloupců.
|
||||||
|
- Zadává se počet sloupců, počet řádků a rozteč, ne celkový rozměr.
|
||||||
|
- Rozteč 30 při třech sloupcích dá od první osy ke třetí 60 mm.
|
||||||
|
- Pole může zůstat svázané. Úprava jedné díry se propíše do ostatních.
|
||||||
|
|
||||||
|
> Tip: tři díry v řadě mají dvě mezery. Celková délka je dvojnásobek rozteče, ne trojnásobek.
|
||||||
|
|
||||||
|
## Polární pole
|
||||||
|
*Na kružnici*
|
||||||
|
|
||||||
|
- `_ARRAYPOLAR` chce střed otáčení, počet prvků a úhel vyplnění.
|
||||||
|
- Čtyři díry po 360 stupních jsou po 90 stupních.
|
||||||
|
- Vzorová díra musí ležet na roztečné kružnici dřív, než pole spustíte.
|
||||||
|
- Střed pole je střed příruby, ne střed první díry.
|
||||||
|
|
||||||
|
> Tip: roztečná kružnice Ø60 má poloměr 30. Vzorová díra leží třeba v bodě 30,0.
|
||||||
|
|
||||||
|
## Roztečná kružnice se nekreslí tlustě
|
||||||
|
*Osa*
|
||||||
|
|
||||||
|
- Kružnice, na které leží středy děr, je tenká čerchovaná osa.
|
||||||
|
- Není to hrana součásti a nepatří na OBRYS.
|
||||||
|
- Kótuje se jejím průměrem, často jako Ø60, a počtem děr.
|
||||||
|
- Samotné díry mají svou kótu průměru jen jednou.
|
||||||
|
|
||||||
|
> Tip: na výkresu čtete 4× Ø8 na Ø60. Osm je díra, 60 je kružnice středů.
|
||||||
|
|
||||||
|
## Zadání: čtyři díry na kružnici
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Příruba je kružnice Ø80, střed 0,0.
|
||||||
|
- Vzorovou díru Ø8 dejte středem do 30,0.
|
||||||
|
- `_ARRAYPOLAR` kolem 0,0, čtyři prvky, 360 stupňů.
|
||||||
|
- Roztečnou kružnici Ø60 dejte na hladinu OSA. Ověřte `_DIST` mezi sousedními středy.
|
||||||
|
|
||||||
|
> Tip: sousední středy svírají 90 stupňů na poloměru 30. Vzdálenost je 30 × √2, asi 42,4 mm.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Tři díry v řadě mají rozteč 30. Jak daleko je první osa od třetí?
|
||||||
|
- 30
|
||||||
|
- 90
|
||||||
|
- [x] 60
|
||||||
|
- 120
|
||||||
|
> Mezi třemi dírami jsou dvě mezery. 2 × 30 = 60.
|
||||||
|
|
||||||
|
## Kam se umísťuje vzorová díra pro pole na Ø60?
|
||||||
|
- Do středu příruby
|
||||||
|
- [x] Na poloměr 30 od středu
|
||||||
|
- 60 mm od středu
|
||||||
|
- Kamkoli, pole si poloměr dopočítá
|
||||||
|
> Ø60 znamená poloměr 30. Střed vzorové díry musí na této kružnici už ležet.
|
||||||
|
|
||||||
|
## Čím je nakreslená kružnice středů děr?
|
||||||
|
- Tlustým obrysem
|
||||||
|
- [x] Tenkou čerchovanou osou
|
||||||
|
- Šrafou
|
||||||
|
- Kótovací čarou
|
||||||
|
> Není to hrana materiálu. Je to osa rozteče a patří na hladinu OSA.
|
||||||
|
|
||||||
|
## Co znamená zápis 4× Ø8 na Ø60?
|
||||||
|
- Čtyři díry o průměru 60
|
||||||
|
- [x] Čtyři díry Ø8, jejich středy leží na Ø60
|
||||||
|
- Osazení 4 mm
|
||||||
|
- Zkosení 8 × 60
|
||||||
|
> První průměr je díra, druhý je roztečná kružnice.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Assignment: a flange
|
||||||
|
popis: A drawing with an offset, a hole pattern, a hatch and dimensions.
|
||||||
|
nazev_cviceni: Quiz: the flange
|
||||||
|
nadpis_kvizu: Check the flange before you hand it in
|
||||||
|
---
|
||||||
80
content/technicka-grafika/2-rocnik/08-zadani-priruba.md
Normal file
80
content/technicka-grafika/2-rocnik/08-zadani-priruba.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-2-zadani-priruba
|
||||||
|
nazev: Zadání: příruba
|
||||||
|
popis: Výkres s ekvidistantou, polem děr, šrafou a kótami.
|
||||||
|
nazev_cviceni: Kvíz: příruba
|
||||||
|
nadpis_kvizu: Zkontrolujte přírubu před odevzdáním
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tvar
|
||||||
|
*Rozměry*
|
||||||
|
|
||||||
|
- Příruba Ø100, střed 0,0. Středová díra Ø40.
|
||||||
|
- Čtyři díry Ø9 na roztečné kružnici Ø70, po 90 stupních.
|
||||||
|
- Vnější hrana má zkosení 1 × 45°, které v tomto pohledu vidíte jako tenkou kružnici Ø98.
|
||||||
|
- Tloušťka příruby 12 mm se okótuje v druhém pohledu nebo v řezu. V čelním pohledu je kružnice.
|
||||||
|
|
||||||
|
> Tip: rozteč Ø70 znamená vzorovou díru ve vzdálenosti 35 mm od středu.
|
||||||
|
|
||||||
|
## Řez
|
||||||
|
*Aby byla vidět tloušťka*
|
||||||
|
|
||||||
|
- Druhý pohled je řez přes osu. Ukáže tloušťku 12 a průchod díry Ø40.
|
||||||
|
- V řezu se šrafuje materiál příruby. Díra Ø40 zůstane prázdná.
|
||||||
|
- Díry Ø9 v tomto řezu nemusí vyjít všechny. Řezná rovina bere dvě protilehlé, nebo žádnou, podle úhlu.
|
||||||
|
- Zvolte řez rovinou, která prochází dvěma protilehlými dírami Ø9, ať je v řezu vidět i jejich průchod.
|
||||||
|
|
||||||
|
> Tip: rovina pod úhlem 0 stupňů vezme díry na ose X. Jejich průchod je Ø9 skrz tloušťku 12.
|
||||||
|
|
||||||
|
## Kóty a hladiny
|
||||||
|
*Jednou*
|
||||||
|
|
||||||
|
- Kóty: Ø100, Ø40, 4× Ø9 na Ø70, tloušťka 12, zkosení 1 × 45°.
|
||||||
|
- OBRYS, OSA, SRAFA, KOTA, RAM. Typy čar jako ve druháku.
|
||||||
|
- Razítko: Příruba, 1:1, ocel.
|
||||||
|
- Formát A4 na šířku nebo A3, když se řez vedle čela nevejde čitelně.
|
||||||
|
|
||||||
|
> Tip: kóta 4× Ø9 se neopakuje u každé díry. Roztečná kružnice má vlastní kótu Ø70.
|
||||||
|
|
||||||
|
## Kontrola
|
||||||
|
*Před tiskem*
|
||||||
|
|
||||||
|
- `_DIST` od středu k ose díry Ø9 je 35.
|
||||||
|
- Šrafa nezasahuje do díry Ø40 ani do děr Ø9.
|
||||||
|
- Vypnutí hladiny KOTA nechá čistý tvar. Čísla nezmizí z obrysu, protože na něm nemají být.
|
||||||
|
- Soubor priruba.dwg, jednotky milimetry, žádná kóta přepsaná ručně.
|
||||||
|
|
||||||
|
> Tip: když kóta Ø100 ukazuje 99,9, vnější kružnice nemá průměr 100. Opravte kružnici, ne text.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jak daleko od středu leží osa díry na roztečné kružnici Ø70?
|
||||||
|
- 70
|
||||||
|
- [x] 35
|
||||||
|
- 9
|
||||||
|
- 100
|
||||||
|
> Rozteč se kótuje průměrem. Poloměr, tedy vzdálenost středu díry, je 35.
|
||||||
|
|
||||||
|
## Jak jednou kótou popsat čtyři malé díry?
|
||||||
|
- Ø9
|
||||||
|
- Ø70
|
||||||
|
- [x] 4× Ø9
|
||||||
|
- R4,5
|
||||||
|
> Počet krát průměr. Poloha je až kóta roztečné kružnice.
|
||||||
|
|
||||||
|
## Co se v řezu příruby nešrafuje?
|
||||||
|
- Těleso příruby
|
||||||
|
- [x] Průchod díry Ø40
|
||||||
|
- Obrys
|
||||||
|
- Razítko se šrafuje vždy
|
||||||
|
> Šrafuje se materiál. Díra je prázdná, šrafa končí na její hraně.
|
||||||
|
|
||||||
|
## Kóta vnějšího průměru ukazuje 99,9. Co uděláte?
|
||||||
|
- Přepíšete ji na 100
|
||||||
|
- [x] Opravíte kružnici na Ø100
|
||||||
|
- Změníte měřítko na 1:2
|
||||||
|
- Smažete řez
|
||||||
|
> Kóta měří geometrii. Ruční text by zakryl, že kružnice je špatně.
|
||||||
6
content/technicka-grafika/3-rocnik/01-pohledy.en.md
Normal file
6
content/technicka-grafika/3-rocnik/01-pohledy.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Views and first-angle projection
|
||||||
|
popis: Front, top and side views the way they are drawn here.
|
||||||
|
nazev_cviceni: Quiz: views
|
||||||
|
nadpis_kvizu: Put the view in the right place
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/01-pohledy.md
Normal file
80
content/technicka-grafika/3-rocnik/01-pohledy.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-pohledy
|
||||||
|
nazev: Pohledy a evropské promítání
|
||||||
|
popis: Nárys, půdorys a bokorys tak, jak se kreslí u nás.
|
||||||
|
nazev_cviceni: Kvíz: pohledy
|
||||||
|
nadpis_kvizu: Umístěte pohled na správné místo
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tři základní pohledy
|
||||||
|
*Nárys*
|
||||||
|
|
||||||
|
- Nárys je pohled zepředu. Vybírá se tak, aby ukázal tvar co nejlíp.
|
||||||
|
- Půdorys je pohled shora. Bokorys je pohled zleva.
|
||||||
|
- V evropském promítání leží půdorys pod nárysem, ne nad ním.
|
||||||
|
- Bokorys zleva leží vpravo od nárysu. Předmět si představte překlopený k vám.
|
||||||
|
|
||||||
|
> Tip: americké promítání má půdorys nahoře. Na českém školním výkresu se nekreslí.
|
||||||
|
|
||||||
|
## Co se v pohledu opakuje
|
||||||
|
*Stejná hrana*
|
||||||
|
|
||||||
|
- Výška nárysu a výška bokorysu je stejné číslo. Šířka nárysu a šířka půdorysu taky.
|
||||||
|
- Hloubka půdorysu se rovná šířce bokorysu. Pomůže si 45stupňová pomocná čára.
|
||||||
|
- Skrytá hrana se v pohledu, kde není vidět, kreslí tenkou čárkovanou čarou.
|
||||||
|
- Hrana, která v daném pohledu splývá s obrysem, se podruhé nekreslí.
|
||||||
|
|
||||||
|
> Tip: když je nárys vysoký 40, bokorys nemůže být vysoký 36. Někde chybí hrana nebo měřítko.
|
||||||
|
|
||||||
|
## Zarovnání
|
||||||
|
*Jedna osa*
|
||||||
|
|
||||||
|
- Pohledy se zarovnají. Svislé hrany nárysu a půdorysu leží na stejných svislicích.
|
||||||
|
- Vodorovné hrany nárysu a bokorysu leží na stejných vodorovných přímkách.
|
||||||
|
- Mezi pohledy nechte mezeru na kóty, třeba 30 až 40 mm. Pohledy se nesmí překrývat.
|
||||||
|
- Osa souměrnosti prochází všemi pohledy, ve kterých je součást souměrná.
|
||||||
|
|
||||||
|
> Tip: `_XLINE` pod 45 stupňů přenese hloubku z půdorysu do bokorysu. Po dokreslení ji smažte nebo dejte na pomocnou hladinu.
|
||||||
|
|
||||||
|
## Zadání: kvádr s osazením
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Kvádr 60 × 40 × 30. Zepředu je na něm osazení: pravá část je o 10 mm nižší, v délce 20 mm.
|
||||||
|
- Nárys je 60 široký a 30 vysoký. Půdorys pod ním je 60 × 40.
|
||||||
|
- Bokorys vpravo je 40 široký a 30 vysoký. Osazení v něm vyjde jako skrytá nebo viditelná hrana podle směru.
|
||||||
|
- Pohledy zarovnejte. Výška 30 musí sedět v nárysu i v bokorysu.
|
||||||
|
|
||||||
|
> Tip: osazení dlouhé 20 a nižší o 10 znamená, že v nárysu je horní hrana 40 mm v plné výšce a 20 mm ve výšce 20.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Kam se v evropském promítání kreslí půdorys?
|
||||||
|
- Nad nárys
|
||||||
|
- [x] Pod nárys
|
||||||
|
- Vlevo od nárysu
|
||||||
|
- Místo bokorysu
|
||||||
|
> Evropské promítání klade pohled shora pod pohled zepředu. Nahoře by byl americký zvyk.
|
||||||
|
|
||||||
|
## Co musí mít nárys a bokorys společné?
|
||||||
|
- Šířku
|
||||||
|
- [x] Výšku
|
||||||
|
- Hloubku jako jediné číslo bez převodu
|
||||||
|
- Razítko
|
||||||
|
> Výška předmětu je v obou pohledech stejná. Hloubka se přenáší mezi půdorysem a bokorysem.
|
||||||
|
|
||||||
|
## Jak se kreslí hrana, kterou v daném pohledu není vidět?
|
||||||
|
- Tlustou plnou
|
||||||
|
- [x] Tenkou čárkovanou
|
||||||
|
- Čerchovanou osou
|
||||||
|
- Nezobrazuje se nikdy
|
||||||
|
> Skrytá hrana je čárkovaná. Vynechat ji smíte jen tam, kde by výkres zbytečně zanesla a norma to dovolí.
|
||||||
|
|
||||||
|
## Kvádr je vysoký 30. Jak vysoký je jeho bokorys?
|
||||||
|
- 40
|
||||||
|
- [x] 30
|
||||||
|
- 60
|
||||||
|
- Podle měřítka jinak
|
||||||
|
> Výška se mezi nárysem a bokorysem nemění. Měřítko je pro celý výkres jedno.
|
||||||
6
content/technicka-grafika/3-rocnik/02-rezy.en.md
Normal file
6
content/technicka-grafika/3-rocnik/02-rezy.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Sections and cross-sections
|
||||||
|
popis: The cutting plane, the arrows and what gets hatched.
|
||||||
|
nazev_cviceni: Quiz: sections
|
||||||
|
nadpis_kvizu: Read the cutting plane
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/02-rezy.md
Normal file
80
content/technicka-grafika/3-rocnik/02-rezy.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-rezy
|
||||||
|
nazev: Řezy a průřezy
|
||||||
|
popis: Řezná rovina, šipky a co se šrafuje.
|
||||||
|
nazev_cviceni: Kvíz: řezy
|
||||||
|
nadpis_kvizu: Přečtěte řeznou rovinu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Úplný řez
|
||||||
|
*Rovina A-A*
|
||||||
|
|
||||||
|
- Řez ukáže vnitřek, který by jinak byl samá čárkovaná čára.
|
||||||
|
- Řezná rovina se v pohledu označí tlustou čerchovanou čarou se šipkami a písmeny, třeba A.
|
||||||
|
- Obraz řezu se popíše A-A. Šipky říkají, kterým směrem se díváme.
|
||||||
|
- Materiál proťatý rovinou se šrafuje. Prázdné díry ne.
|
||||||
|
|
||||||
|
> Tip: šipky řezu míří na plochu, kterou uvidíte. Obrácené šipky otočí celý obraz.
|
||||||
|
|
||||||
|
## Poloviční řez
|
||||||
|
*Souměrná součást*
|
||||||
|
|
||||||
|
- Souměrná součást smí mít půl pohledu a půl řezu v jednom obrazu.
|
||||||
|
- Dělí je osa. Pohled bývá nad osou nebo vlevo, řez pod osou nebo vpravo.
|
||||||
|
- Na ose mezi polovinou pohledu a řezu se nekreslí tlustý obrys.
|
||||||
|
- Skryté hrany v neřezané polovině se často vynechají, protože řez už vnitřek ukázal.
|
||||||
|
|
||||||
|
> Tip: hřídel s dírou na ose je typický poloviční řez. Nahoře obrys, dole díra a šrafa.
|
||||||
|
|
||||||
|
## Co řezem není
|
||||||
|
*Průřez*
|
||||||
|
|
||||||
|
- Průřez ukáže jen tvar v řezné rovině, bez toho, co leží za ní.
|
||||||
|
- Řez ukáže i hrany za rovinou. Proto je na řezu víc čar než na průřezu.
|
||||||
|
- Tenký průřez se smí nakreslit přímo do pohledu, pootočený na místě.
|
||||||
|
- Žebro řezané podélně se nešrafuje ani v úplném řezu.
|
||||||
|
|
||||||
|
> Tip: když za rovinou vidíte další osazení, je to řez. Když je tam jen vyšrafovaný profil, je to průřez.
|
||||||
|
|
||||||
|
## Zadání: pouzdro
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Pouzdro je válec Ø50, díra Ø30, délka 40. Nakreslete nárys jako úplný řez A-A osou.
|
||||||
|
- V řezu vyšrafujte mezikruží. Díra Ø30 zůstane prázdná po celé délce 40.
|
||||||
|
- Šipky A umístěte do půdorysu nebo do místa, odkud je rovina jasná.
|
||||||
|
- Kóty Ø50, Ø30 a 40. Hřídel to není, šrafa tu být má.
|
||||||
|
|
||||||
|
> Tip: tloušťka stěny je (50 − 30) / 2 = 10 mm. V řezu je vidět vlevo i vpravo od díry.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co říkají šipky u řezné roviny?
|
||||||
|
- Tloušťku čáry
|
||||||
|
- [x] Směr pohledu na řez
|
||||||
|
- Měřítko šrafy
|
||||||
|
- Počet děr
|
||||||
|
> Obraz řezu je to, co bychom viděli ve směru šipek. Obrácené šipky obraz otočí.
|
||||||
|
|
||||||
|
## Šrafuje se díra Ø30 v řezu pouzdra?
|
||||||
|
- Ano, je uprostřed
|
||||||
|
- [x] Ne, není tam materiál
|
||||||
|
- Jen v měřítku 1:2
|
||||||
|
- Jen když je pouzdro z oceli
|
||||||
|
> Šrafuje se stěna. Průchozí díra zůstane bílá.
|
||||||
|
|
||||||
|
## Čím se liší průřez od řezu?
|
||||||
|
- Průřez se nešrafuje
|
||||||
|
- [x] Průřez neukazuje hrany za řeznou rovinou
|
||||||
|
- Řez nemá písmena
|
||||||
|
- Průřez je vždy v měřítku 2:1
|
||||||
|
> Řez dokreslí i to, co leží za rovinou. Průřez je jen proťatý tvar.
|
||||||
|
|
||||||
|
## Kam se u souměrného polovičního řezu kreslí řez?
|
||||||
|
- Přes celý obraz
|
||||||
|
- [x] Jen na jednu stranu od osy
|
||||||
|
- Mimo pohled, bez označení
|
||||||
|
- Do razítka
|
||||||
|
> Druhá polovina zůstane pohledem. Dělí je osa, ne tlustá hrana.
|
||||||
6
content/technicka-grafika/3-rocnik/03-bloky.en.md
Normal file
6
content/technicka-grafika/3-rocnik/03-bloky.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Blocks
|
||||||
|
popis: A repeated part as one object with a base point.
|
||||||
|
nazev_cviceni: Quiz: blocks
|
||||||
|
nadpis_kvizu: Insert the block correctly
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/03-bloky.md
Normal file
80
content/technicka-grafika/3-rocnik/03-bloky.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-bloky
|
||||||
|
nazev: Bloky
|
||||||
|
popis: Opakovaný díl jako jeden objekt se základním bodem.
|
||||||
|
nazev_cviceni: Kvíz: bloky
|
||||||
|
nadpis_kvizu: Vložte blok správně
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## K čemu blok je
|
||||||
|
*Jeden díl*
|
||||||
|
|
||||||
|
- Blok je pojmenovaná skupina objektů, která se vkládá jako jeden kus.
|
||||||
|
- Šroub, značka nebo razítko se nekreslí pokaždé znovu.
|
||||||
|
- Úprava definice bloku se propíše do všech vložení. Kopie by zůstaly staré.
|
||||||
|
- Blok patří do výkresu. `_WBLOCK` ho navíc uloží do vlastního souboru.
|
||||||
|
|
||||||
|
> Tip: čtyři stejné šrouby jsou čtyři vložení jednoho bloku, ne čtyři překreslené šrouby.
|
||||||
|
|
||||||
|
## Základní bod
|
||||||
|
*Kam se chytá*
|
||||||
|
|
||||||
|
- `_BLOCK` se zeptá na jméno, základní bod a objekty.
|
||||||
|
- Základní bod je místo, za které budete blok vkládat. U šroubu třeba průsečík osy a dosedací plochy.
|
||||||
|
- Špatný základní bod posune každé vložení o stejnou chybu.
|
||||||
|
- Objekty bloku nedávejte na hladinu 0, pokud nemají přebírat barvu místa vložení. Na škole nechte jejich vlastní hladiny.
|
||||||
|
|
||||||
|
> Tip: základní bod chytejte úchopem. Bod „někde u šroubu“ se při vložení mine o několik milimetrů.
|
||||||
|
|
||||||
|
## Vložení
|
||||||
|
*Místo, měřítko, úhel*
|
||||||
|
|
||||||
|
- `_INSERT` vybere jméno, bod vložení, měřítko a otočení.
|
||||||
|
- Měřítko 1 a úhel 0 vloží blok tak, jak byl nakreslen.
|
||||||
|
- Měřítko 2 ho zvětší. Na výkresu 1:1 se měřítko bloku nemění, mění se až měřítko výřezu.
|
||||||
|
- Rozbití bloku příkazem `_EXPLODE` z něj zase udělá obyčejné čáry. Dělejte to jen když máte měnit jediné vložení.
|
||||||
|
|
||||||
|
> Tip: rozbitý blok se už neaktualizuje s definicí. Rozbijte ho, jen když opravdu chcete výjimku.
|
||||||
|
|
||||||
|
## Zadání: šroub M8 jako blok
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- V nárysu nakreslete zjednodušený šroub: dřík Ø8 dlouhý 20 a hlava široká 13 vysoká 5,5.
|
||||||
|
- Základní bod dejte na osu, do dosedací plochy pod hlavou.
|
||||||
|
- Blok pojmenujte SROUB-M8 a vložte ho dvakrát, po 40 mm.
|
||||||
|
- Změňte délku dříku v definici na 25. Obě vložení se musí prodloužit.
|
||||||
|
|
||||||
|
> Tip: dosedací plocha je rozhraní hlavy a dříku. Od ní se měří, jak hluboko šroub sedí.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím se liší blok od obyčejné kopie?
|
||||||
|
- Ničím
|
||||||
|
- [x] Úprava definice se propíše do všech vložení
|
||||||
|
- Blok nejde otočit
|
||||||
|
- Kopie zabere méně místa
|
||||||
|
> Kopie jsou nezávislé. Vložení bloku sdílejí jednu definici.
|
||||||
|
|
||||||
|
## Co je základní bod bloku?
|
||||||
|
- Střed razítka
|
||||||
|
- [x] Bod, za který se blok vkládá
|
||||||
|
- Vždy 0,0 výkresu
|
||||||
|
- Pravý horní roh objektů
|
||||||
|
> Špatný základní bod posune každé vložení. Chytejte ho úchopem na osu nebo na dosedací plochu.
|
||||||
|
|
||||||
|
## Kdy blok rozbít příkazem `_EXPLODE`?
|
||||||
|
- Vždy po vložení
|
||||||
|
- [x] Jen když jedno vložení má být výjimka
|
||||||
|
- Aby se zmenšil soubor
|
||||||
|
- Před každým tiskem
|
||||||
|
> Rozbitý blok se s definicí už neaktualizuje. Ostatní vložení nechte celé.
|
||||||
|
|
||||||
|
## Měřítko vložení 1 na výkresu 1:1 znamená?
|
||||||
|
- Blok se kreslí poloviční
|
||||||
|
- [x] Blok se vloží ve velikosti, v jaké byl nakreslen
|
||||||
|
- Blok se převrátí
|
||||||
|
- Měřítko razítka se změní na 1:2
|
||||||
|
> Měřítko výkresu řeší až výřez na papíře. Blok součásti nechte v měřítku 1.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Attributes and the parts list
|
||||||
|
popis: Text in a block that changes with every insert.
|
||||||
|
nazev_cviceni: Quiz: attributes
|
||||||
|
nadpis_kvizu: Read the parts list
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/04-atributy-a-kusovnik.md
Normal file
80
content/technicka-grafika/3-rocnik/04-atributy-a-kusovnik.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-atributy
|
||||||
|
nazev: Atributy a kusovník
|
||||||
|
popis: Text v bloku, který se mění s každým vložením.
|
||||||
|
nazev_cviceni: Kvíz: atributy
|
||||||
|
nadpis_kvizu: Přečtěte kusovník
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Atribut je popisek bloku
|
||||||
|
*Značka*
|
||||||
|
|
||||||
|
- Atribut je text uložený v bloku. Při každém vložení se zeptá znovu.
|
||||||
|
- `_ATTDEF` založí značku, výzvu a výchozí hodnotu. Značka je třeba OZN.
|
||||||
|
- Do bloku se atribut vloží spolu s geometrií. Samotný atribut na výkresu nic neopakuje.
|
||||||
|
- Hodnotu už vloženého bloku změníte `_ATTEDIT` nebo dvojklikem, ne přepsáním čáry.
|
||||||
|
|
||||||
|
> Tip: značka OZN není text, který se tiskne. Tiskne se hodnota, třeba 1 nebo M8×20.
|
||||||
|
|
||||||
|
## Kusovník
|
||||||
|
*Co je na výkresu*
|
||||||
|
|
||||||
|
- Kusovník je tabulka nad razítkem. Řádek je jedna položka sestavy.
|
||||||
|
- Sloupce bývají pozice, název, počet, materiál nebo norma a rozměr.
|
||||||
|
- Pozice v kolečku na výkresu musí souhlasit s řádkem tabulky.
|
||||||
|
- Počet se počítá z vložení, ne od oka. Dva stejné šrouby jsou počet 2, ne dva řádky.
|
||||||
|
|
||||||
|
> Tip: tabulku `_TABLE` dejte na hladinu TEXT nebo RAM. Čáry tabulky nejsou obrys součásti.
|
||||||
|
|
||||||
|
## Pořadí
|
||||||
|
*Nejdřív definice*
|
||||||
|
|
||||||
|
- Nejdřív nakreslete díl, přidejte atribut, teprve pak z toho udělejte blok.
|
||||||
|
- Atribut přidaný až po vytvoření bloku se do starých vložení sám nedostane.
|
||||||
|
- `_BATTMAN` nebo nové definování bloku vložení srovná. Na škole je jistější blok založit znovu.
|
||||||
|
- Výchozí hodnota atributu je nápověda. U šroubu třeba M8×20, a při vložení ji smíte změnit.
|
||||||
|
|
||||||
|
> Tip: prázdná hodnota v kusovníku znamená, že jste při vložení výzvu odklepli bez textu.
|
||||||
|
|
||||||
|
## Zadání: tři položky
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Sestava má přírubu (pozice 1, 1 kus, ocel), šroub M8×20 (pozice 2, 4 kusy) a matici M8 (pozice 3, 4 kusy).
|
||||||
|
- Šroub je blok s atributem OZN. Čtyři vložení mají stejnou hodnotu.
|
||||||
|
- Kusovník nad razítkem má tři řádky. Pozice 2 má počet 4, ne 1.
|
||||||
|
- Odkazové čáry z koleček 1, 2 a 3 míří na správný díl a nekříží se bez důvodu.
|
||||||
|
|
||||||
|
> Tip: čtyři matice jsou pořád jedna položka. Do tabulky nepište čtyři řádky se stejným šroubem.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Co se při vložení bloku s atributem ptá znovu?
|
||||||
|
- Barva hladiny
|
||||||
|
- [x] Hodnota atributu, třeba označení
|
||||||
|
- Základní bod definice
|
||||||
|
- Měřítko výkresu
|
||||||
|
> Geometrie bloku zůstává. Mění se text, který jste založili jako atribut.
|
||||||
|
|
||||||
|
## Čtyři stejné šrouby v kusovníku jsou?
|
||||||
|
- Čtyři řádky
|
||||||
|
- [x] Jeden řádek s počtem 4
|
||||||
|
- Pozice 1 až 4
|
||||||
|
- Atribut bez bloku
|
||||||
|
> Stejný díl je jedna položka. Počet říká, kolikrát je vložený.
|
||||||
|
|
||||||
|
## Kdy se atribut musí založit?
|
||||||
|
- Až po tisku
|
||||||
|
- [x] Před vytvořením bloku, spolu s geometrií
|
||||||
|
- Jen v razítku
|
||||||
|
- Atribut nejde uložit do bloku
|
||||||
|
> Atribut přidaný později se do existující definice sám nepřidá.
|
||||||
|
|
||||||
|
## Kam patří kusovník?
|
||||||
|
- Přes nárys
|
||||||
|
- [x] Nad razítko
|
||||||
|
- Na hladinu OBRYS
|
||||||
|
- Mimo rámeček
|
||||||
|
> Čte se spolu s razítkem. Čáry tabulky nejsou hrany součásti.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Layouts and viewports
|
||||||
|
popis: The sheet of paper that looks into the model.
|
||||||
|
nazev_cviceni: Quiz: viewports
|
||||||
|
nadpis_kvizu: Set the viewport scale
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/05-rozvrzeni-a-vyrezy.md
Normal file
80
content/technicka-grafika/3-rocnik/05-rozvrzeni-a-vyrezy.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-rozvrzeni
|
||||||
|
nazev: Rozvržení a výřezy
|
||||||
|
popis: Papír, na kterém leží pohled do modelu.
|
||||||
|
nazev_cviceni: Kvíz: výřezy
|
||||||
|
nadpis_kvizu: Nastavte měřítko výřezu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Model a papír
|
||||||
|
*Dva prostory*
|
||||||
|
|
||||||
|
- V modelu je součást v milimetrech 1:1. Papír je rozvržení, záložka nad příkazovým řádkem.
|
||||||
|
- Na papír přijde rámeček, razítko a výřez. Výřez je okno do modelu.
|
||||||
|
- Dvojklik dovnitř výřezu přepne do modelu. Dvojklik ven vrátí papír.
|
||||||
|
- Kóty součásti nechte v modelu. Razítko kreslete v rozvržení, ať má na papíře stálou velikost.
|
||||||
|
|
||||||
|
> Tip: rámeček nakreslený v modelu se při změně měřítka výřezu zmenší spolu se součástí. Proto patří na papír.
|
||||||
|
|
||||||
|
## Měřítko výřezu
|
||||||
|
*1:2 na papíře*
|
||||||
|
|
||||||
|
- Výřez má vlastní měřítko. Součást v modelu zůstává 1:1.
|
||||||
|
- Měřítko 1:2 znamená, že 1 mm na papíře je 2 mm na součásti.
|
||||||
|
- Ve stavovém řádku výřezu se měřítko vybírá ze seznamu. Starší zápis je `_ZOOM` a `1/2xp`.
|
||||||
|
- Výřez zamkněte, ať kolečko myši měřítko omylem nerozhodí.
|
||||||
|
|
||||||
|
> Tip: nezamčený výřez je nejčastější důvod, proč ráno výkres není 1:1, i když včera byl.
|
||||||
|
|
||||||
|
## Co je vidět
|
||||||
|
*Hladiny ve výřezu*
|
||||||
|
|
||||||
|
- Hladinu lze ve výřezu zmrazit a v modelu ji nechat. Pomocné čáry tak na papír nejdou.
|
||||||
|
- Rámeček výřezu dejte na hladinu VYREZ a tu před tiskem vypněte. Na papíře zůstane jen obsah.
|
||||||
|
- Jeden výkres smí mít víc výřezů: čelo, řez, detail v jiném měřítku.
|
||||||
|
- Detail 2:1 je druhý výřez. V razítku se pak píše měřítko hlavní, detail má vlastní popisku.
|
||||||
|
|
||||||
|
> Tip: detail zvětšený 2:1 nekreslete znovu. Je to stejný model v druhém výřezu.
|
||||||
|
|
||||||
|
## Zadání: A3 a měřítko 1:2
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Rozvržení nastavte na A3 na šířku. Rámeček a razítko nakreslete v rozvržení.
|
||||||
|
- Výřez ukazuje přírubu Ø100 v měřítku 1:2. Na papíře má mít průměr 50 mm.
|
||||||
|
- Výřez zamkněte. Hladinu jeho rámečku vypněte.
|
||||||
|
- `_DIST` na papíře přes průměr příruby má ukázat 50, ne 100.
|
||||||
|
|
||||||
|
> Tip: měření v rozvržení, mimo výřez, čte milimetry papíru. 100 mm součásti v měřítku 1:2 je na papíře 50 mm.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Kde se kreslí tvar součásti v měřítku 1:1?
|
||||||
|
- V rozvržení
|
||||||
|
- [x] V modelu
|
||||||
|
- V razítku
|
||||||
|
- V hladině VYREZ
|
||||||
|
> Model zůstává skutečný. Měřítko pro papír nastavuje až výřez.
|
||||||
|
|
||||||
|
## Součást Ø100 ve výřezu 1:2 má na papíře průměr?
|
||||||
|
- 100 mm
|
||||||
|
- [x] 50 mm
|
||||||
|
- 200 mm
|
||||||
|
- 1 mm
|
||||||
|
> 1:2 zmenšuje na polovinu. Kóta ve modelu pořád říká 100.
|
||||||
|
|
||||||
|
## Proč výřez zamknout?
|
||||||
|
- Aby nešel tisknout
|
||||||
|
- [x] Aby kolečko myši nezměnilo měřítko
|
||||||
|
- Zamknutí smaže model
|
||||||
|
- Aby šel rámeček smazat
|
||||||
|
> Nezamčený výřez se při zoomu rozhodí a výkres už není v měřítku z razítka.
|
||||||
|
|
||||||
|
## Kam patří rámeček a razítko?
|
||||||
|
- Do modelu, na hladinu OBRYS
|
||||||
|
- [x] Do rozvržení
|
||||||
|
- Do definice bloku šroubu
|
||||||
|
- Mimo papír
|
||||||
|
> V rozvržení mají stálou velikost bez ohledu na měřítko výřezu.
|
||||||
6
content/technicka-grafika/3-rocnik/06-tisk.en.md
Normal file
6
content/technicka-grafika/3-rocnik/06-tisk.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Plotting and PDF
|
||||||
|
popis: The sheet, the plot area and a black pen.
|
||||||
|
nazev_cviceni: Quiz: plotting
|
||||||
|
nadpis_kvizu: Choose the plotter settings
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/06-tisk.md
Normal file
80
content/technicka-grafika/3-rocnik/06-tisk.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-tisk
|
||||||
|
nazev: Tisk a PDF
|
||||||
|
popis: Papír, oblast tisku a černobílé pero.
|
||||||
|
nazev_cviceni: Kvíz: tisk
|
||||||
|
nadpis_kvizu: Vyberte nastavení plotru
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Plotr
|
||||||
|
*Na papír nebo do PDF*
|
||||||
|
|
||||||
|
- `_PLOT` tiskne aktuální rozvržení. Oblast tisku nechte Layout, ne Extents.
|
||||||
|
- Tiskárna DWG To PDF uloží výkres, který jde odevzdat bez posunu měřítka.
|
||||||
|
- Formát papíru musí sedět s rozvržením. A3 v tisku a A4 v rozvržení ořízne razítko.
|
||||||
|
- Měřítko tisku z rozvržení je 1:1. Měřítko součásti už drží výřez.
|
||||||
|
|
||||||
|
> Tip: tisk 1:2 z rozvržení, které už má výřez 1:2, zmenší výkres podruhé. Na papíře bude 1:4.
|
||||||
|
|
||||||
|
## Pero
|
||||||
|
*Černá čára*
|
||||||
|
|
||||||
|
- Tabulka per monochrome.ctb tiskne vše černě a tloušťku bere z hladin.
|
||||||
|
- Barevný tisk ve škole nechte jen na náhled. Odevzdává se černobílý výkres.
|
||||||
|
- Tloušťka obrysu 0,5 mm a tenká čára 0,25 mm musí být v tabulce nebo na hladině vidět.
|
||||||
|
- Náhled tisku ukáže, jestli razítko neleze z papíru. Bez náhledu netiskněte.
|
||||||
|
|
||||||
|
> Tip: když je na PDF všechno vlásečnicové, tloušťky hladin se netisknou. V `_PLOT` je zapněte.
|
||||||
|
|
||||||
|
## Co do PDF nepatří
|
||||||
|
*Čistý výkres*
|
||||||
|
|
||||||
|
- Rámeček výřezu je vypnutý. Pomocné konstrukce taky.
|
||||||
|
- Kóty jsou čitelné a nejsou přes šrafu, pokud to šlo jinak.
|
||||||
|
- PDF pojmenujte jako výkres, třeba priruba-A3.pdf, ne Plot1.pdf.
|
||||||
|
- Vytiskněte i kontrolní kópii na papír, když učitel odevzdání na papíře chce.
|
||||||
|
|
||||||
|
> Tip: otevřete PDF a změřte rámeček A3. Má mít 420 × 297 mm. Jinak je špatně formát nebo měřítko tisku.
|
||||||
|
|
||||||
|
## Zadání: PDF příruby
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Rozvržení A3, výřez 1:1 nebo 1:2 podle toho, co se vejde i s kótami.
|
||||||
|
- `_PLOT`, tiskárna DWG To PDF, oblast Layout, měřítko 1:1, pero monochrome.ctb.
|
||||||
|
- Náhled zkontroluje, že razítko je celé a šrafa není černá plocha.
|
||||||
|
- Soubor uložte jako priruba-A3.pdf vedle dwg.
|
||||||
|
|
||||||
|
> Tip: hustá šrafa v náhledu znamená velké měřítko vzoru nebo malé. Vraťte se do `_HATCH` a rozteč zvětšete.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaké měřítko tisku se dává při tisku rozvržení?
|
||||||
|
- Stejné jako měřítko výřezu, znovu
|
||||||
|
- [x] 1:1
|
||||||
|
- Fit to paper
|
||||||
|
- 2:1, ať je výkres větší
|
||||||
|
> Měřítko součásti už má výřez. Tisk papíru je 1:1, jinak se měřítko zdvojí.
|
||||||
|
|
||||||
|
## K čemu je monochrome.ctb?
|
||||||
|
- Zvětší písmo
|
||||||
|
- [x] Tiskne černě a dodrží tloušťky
|
||||||
|
- Zamkne výřez
|
||||||
|
- Smaže hladinu OSA
|
||||||
|
> Barevné čáry na obrazovce jsou pro práci. Odevzdává se černý výkres s tlustým obrysem.
|
||||||
|
|
||||||
|
## Proč nenechat oblast tisku na Extents?
|
||||||
|
- Extents je rychlejší
|
||||||
|
- [x] Vzalo by i objekty mimo papír a rozhodilo by měřítko
|
||||||
|
- Extents netiskne kóty
|
||||||
|
- Extents vyžaduje 3D
|
||||||
|
> Layout tiskne papír tak, jak jste ho složili. Extents hledá vše nakreslené a měřítko si dopočítá samo.
|
||||||
|
|
||||||
|
## Co má mít rámeček A3 v hotovém PDF?
|
||||||
|
- 210 × 297 mm
|
||||||
|
- [x] 420 × 297 mm
|
||||||
|
- 100 × 70 mm
|
||||||
|
- Libovolný rozměr, rozhoduje obrazovka
|
||||||
|
> A3 je 420 × 297 mm. Když PDF vyjde menší, je špatně formát papíru nebo měřítko tisku.
|
||||||
6
content/technicka-grafika/3-rocnik/07-izometrie.en.md
Normal file
6
content/technicka-grafika/3-rocnik/07-izometrie.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Isometric drawing
|
||||||
|
popis: A pictorial view that does not shrink edges the way perspective does.
|
||||||
|
nazev_cviceni: Quiz: isometrics
|
||||||
|
nadpis_kvizu: Pick the axis and the ellipse
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/07-izometrie.md
Normal file
80
content/technicka-grafika/3-rocnik/07-izometrie.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-izometrie
|
||||||
|
nazev: Izometrie
|
||||||
|
popis: Názorný obraz, ve kterém se rozměry nezkreslují stejně jako v perspektivě.
|
||||||
|
nazev_cviceni: Kvíz: izometrie
|
||||||
|
nadpis_kvizu: Vyberte osu a elipsu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tři osy
|
||||||
|
*120 stupňů*
|
||||||
|
|
||||||
|
- Izometrie má tři osy po 120 stupních. Svislá zůstává svislá.
|
||||||
|
- Délky se nanášejí ve skutečné velikosti. Není to perspektiva, hrany se do dálky nezkracují.
|
||||||
|
- `_ISODRAFT` přepne kreslicí rovinu. F5 cyklí mezi levou, pravou a horní rovinou.
|
||||||
|
- Orto v izometrii drží čáry podél aktuálních os, ne podél obyčejného X a Y.
|
||||||
|
|
||||||
|
> Tip: než nakreslíte hranu, podívejte se, která izorovina svítí. Čára v špatné rovině neleží na stěně.
|
||||||
|
|
||||||
|
## Kružnice je elipsa
|
||||||
|
*Isokružnice*
|
||||||
|
|
||||||
|
- Kružnice v izometrii se kreslí jako elipsa. `_ELLIPSE` a volba Isocircle.
|
||||||
|
- Nejdřív F5 na rovinu, ve které kružnice leží. Horní díra chce horní rovinu.
|
||||||
|
- Průměr se zadává skutečný. Elipsa ho zobrazí zkoseně, kóta zůstává Ø.
|
||||||
|
- Obyčejná kružnice `_CIRCLE` v izometrii je chyba. Na papíře by byla pořád kulatá a neladila by s osami.
|
||||||
|
|
||||||
|
> Tip: díra na horní stěně a díra na přední stěně jsou dvě různě natočené elipsy. F5 mezi nimi přepněte.
|
||||||
|
|
||||||
|
## K čemu izometrie je
|
||||||
|
*Názornost*
|
||||||
|
|
||||||
|
- Izometrie nenahrazuje nárys a řez. Výrobu řídí okótované pohledy.
|
||||||
|
- Na školní práci bývá izometrie v rohu, bez kót nebo jen s hlavními.
|
||||||
|
- Skryté hrany se v izometrii často vynechají, ať obraz zůstane čitelný.
|
||||||
|
- Tlustý obrys nechte na viditelných hranách. Osy děr smíte naznačit tenčeji.
|
||||||
|
|
||||||
|
> Tip: když se izometrie neshoduje s nárysem, platí nárys. Izometrii překreslete.
|
||||||
|
|
||||||
|
## Zadání: kvádr s dírou
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- V izometrii nakreslete kvádr 60 × 40 × 30.
|
||||||
|
- Na horní stěně je díra Ø16 uprostřed. Použijte isokružnici v horní rovině.
|
||||||
|
- Soustředně naznačte tenčí elipsu, jen pokud by šlo o zahloubení. Tady zahloubení není.
|
||||||
|
- Porovnejte rozměry s nárysem téhož kvádru. 60, 40 a 30 musí sedět na obou.
|
||||||
|
|
||||||
|
> Tip: střed horní stěny najdete v polovině šířky a hloubky. Elipsa se středem v rohu je špatně.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím se v izometrii kreslí kružnice?
|
||||||
|
- `_CIRCLE`
|
||||||
|
- [x] `_ELLIPSE` s volbou Isocircle
|
||||||
|
- `_ARC` o 360 stupňů
|
||||||
|
- `_POLYGON`
|
||||||
|
> Obyčejná kružnice zůstane kulatá a s izometrickými osami neladí.
|
||||||
|
|
||||||
|
## Co přepíná klávesa F5 při zapnutém `_ISODRAFT`?
|
||||||
|
- Hladiny
|
||||||
|
- [x] Izorovina: levá, pravá, horní
|
||||||
|
- Měřítko tisku
|
||||||
|
- Orto
|
||||||
|
> Každá stěna má vlastní natočení elipsy. F5 vybere stěnu, na kterou kreslíte.
|
||||||
|
|
||||||
|
## Zkracují se v izometrii hrany směrem dozadu?
|
||||||
|
- Ano, jako v perspektivě
|
||||||
|
- [x] Ne, délky se nanášejí skutečné
|
||||||
|
- Jen svislé
|
||||||
|
- Jen při měřítku 1:2
|
||||||
|
> Izometrie není perspektiva. Hrana dlouhá 60 mm se nanese jako 60 mm.
|
||||||
|
|
||||||
|
## Co platí, když izometrie nesedí s nárysem?
|
||||||
|
- Platí izometrie, je názornější
|
||||||
|
- [x] Platí okótovaný nárys
|
||||||
|
- Oba se nechají a učitel si vybere
|
||||||
|
- Smaže se razítko
|
||||||
|
> Výrobu určují pohledy a kóty. Izometrie je doplněk a musí se jim přizpůsobit.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Assignment: a sleeve
|
||||||
|
popis: A sectioned front view, a second view, dimensions and an A3 plot.
|
||||||
|
nazev_cviceni: Quiz: the sleeve
|
||||||
|
nadpis_kvizu: Check the sleeve drawing
|
||||||
|
---
|
||||||
80
content/technicka-grafika/3-rocnik/08-zadani-pouzdro.md
Normal file
80
content/technicka-grafika/3-rocnik/08-zadani-pouzdro.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-3-zadani-pouzdro
|
||||||
|
nazev: Zadání: pouzdro
|
||||||
|
popis: Nárys v řezu, půdorys, kóty a tisk na A3.
|
||||||
|
nazev_cviceni: Kvíz: pouzdro
|
||||||
|
nadpis_kvizu: Zkontrolujte výkres pouzdra
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tvar
|
||||||
|
*Rozměry*
|
||||||
|
|
||||||
|
- Pouzdro je dutý válec. Vnější Ø60, díra Ø36, délka 80.
|
||||||
|
- Na pravém konci je osazení: vnější Ø48 v délce 20. Díra Ø36 jde skrz.
|
||||||
|
- Na Ø60 jsou čtyři díry M6 do hloubky 12, na roztečné kružnici Ø48. Nejsou průchozí.
|
||||||
|
- Závit M6 se v nárysu kreslí zjednodušeně: velký průměr tenkou čarou, malý tlustou, v délce 12 mm.
|
||||||
|
|
||||||
|
> Tip: rozteč děr M6 je Ø48, tedy 24 mm od osy. Hloubka 12 není délka pouzdra.
|
||||||
|
|
||||||
|
## Pohledy
|
||||||
|
*Řez a bok*
|
||||||
|
|
||||||
|
- Nárys je úplný řez osou. Šrafuje se stěna, díra Ø36 zůstane prázdná.
|
||||||
|
- Půdorys nebo bokorys ukáže čtyři díry M6 na Ø48. Jednu okótujte 4× M6 a hloubku 12.
|
||||||
|
- Evropské promítání: druhý pohled pod nárysem nebo vpravo, zarovnaný.
|
||||||
|
- Izometrii přidejte vpravo dole, bez kót, ať je tvar jasný.
|
||||||
|
|
||||||
|
> Tip: v řezu osou jsou vidět dvě protilehlé díry M6, pokud rovina A-A jimi prochází. Hloubka 12 se kótuje tady.
|
||||||
|
|
||||||
|
## Výkres
|
||||||
|
*A3*
|
||||||
|
|
||||||
|
- Model 1:1. Rozvržení A3, měřítko výřezu 1:1, tisk 1:1, monochrome.ctb.
|
||||||
|
- Hladiny OBRYS, OSA, SKRYTE, SRAFA, KOTA, ZAVIT, RAM.
|
||||||
|
- Razítko: Pouzdro, ocel, 1:1. Kóty Ø60, Ø36, Ø48, délka 80, osazení 20 a Ø48, 4× M6 hloubka 12.
|
||||||
|
- Závitová hladina je tenká. Není to obrys válce.
|
||||||
|
|
||||||
|
> Tip: malý průměr závitu M6 je zhruba 5 mm. Tenká čára velkého průměru je 6 mm. Neměňte je za Ø36.
|
||||||
|
|
||||||
|
## Kontrola
|
||||||
|
*Odevzdání*
|
||||||
|
|
||||||
|
- Stěna v řezu má tloušťku (60 − 36) / 2 = 12 mm.
|
||||||
|
- Osazení dlouhé 20 nešrafujte jinak než zbytek stěny. Je to pořád jeden kus.
|
||||||
|
- PDF priruba nahraďte souborem pouzdro-A3.pdf. Razítko je celé na papíře.
|
||||||
|
- Žádná kóta není přepsaná. `_DIST` přes vnější průměr dá 60.
|
||||||
|
|
||||||
|
> Tip: dva kusy by měly opačný sklon šrafy. Tady je kus jeden, šrafa má jeden směr.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaká je tloušťka stěny pouzdra Ø60 s dírou Ø36?
|
||||||
|
- 24 mm
|
||||||
|
- [x] 12 mm
|
||||||
|
- 36 mm
|
||||||
|
- 6 mm
|
||||||
|
> Rozdíl průměrů je 24 mm materiálu na obě strany. Na jednu stěnu připadá 12 mm.
|
||||||
|
|
||||||
|
## Jak se zjednodušeně kreslí závit M6?
|
||||||
|
- Obě čáry tlusté
|
||||||
|
- [x] Velký průměr tenkou čarou, malý tlustou
|
||||||
|
- Jen osou
|
||||||
|
- Šrafou ANSI31
|
||||||
|
> Tenká čára je velký průměr 6 mm. Tlustá je malý průměr, u M6 zhruba 5 mm.
|
||||||
|
|
||||||
|
## Kam patří čtyři díry M6?
|
||||||
|
- Průchozí skrz Ø36
|
||||||
|
- [x] Do hloubky 12 mm na roztečné kružnici Ø48
|
||||||
|
- Na osazení Ø48 jako drážka
|
||||||
|
- Do razítka
|
||||||
|
> Nejsou to průchozí díry hlavní dutiny. Hloubka 12 a rozteč Ø48 jsou v zadání.
|
||||||
|
|
||||||
|
## Proč má šrafa pouzdra jeden směr?
|
||||||
|
- Dva směry jsou zakázané vždy
|
||||||
|
- [x] Je to jeden kus
|
||||||
|
- Řez je poloviční
|
||||||
|
- Měřítko je 1:2
|
||||||
|
> Opačný sklon by říkal, že se dotýkají dva díly. Osazení je pořád totéž pouzdro.
|
||||||
6
content/technicka-grafika/4-rocnik/01-prostor-3d.en.md
Normal file
6
content/technicka-grafika/4-rocnik/01-prostor-3d.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Model space in 3D
|
||||||
|
popis: Axes, the user coordinate system and orbiting the model.
|
||||||
|
nazev_cviceni: Quiz: space
|
||||||
|
nadpis_kvizu: Find the axis and the AutoCAD edition
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/01-prostor-3d.md
Normal file
80
content/technicka-grafika/4-rocnik/01-prostor-3d.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-prostor
|
||||||
|
nazev: Modelový prostor ve 3D
|
||||||
|
popis: Osy, uživatelský souřadný systém a obíhání kolem modelu.
|
||||||
|
nazev_cviceni: Kvíz: prostor
|
||||||
|
nadpis_kvizu: Najděte osu a verzi AutoCADu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Tři osy
|
||||||
|
*X, Y, Z*
|
||||||
|
|
||||||
|
- K ose X a Y přibude Z. Na obrazovce při startu míří Z k vám.
|
||||||
|
- Pravidlo pravé ruky: prsty od X k Y, palec ukazuje Z.
|
||||||
|
- `_BOX` a další tělesa potřebují plný AutoCAD. Verze LT tělesa nevytvoří.
|
||||||
|
- 2D výkres z dřívějška zůstává. 3D model je druhý soubor, nebo stejný model v jiném pohledu.
|
||||||
|
|
||||||
|
> Tip: když příkaz `_BOX` AutoCAD nezná, máte LT. Tělesa v ní nejdou.
|
||||||
|
|
||||||
|
## Pohled
|
||||||
|
*Orbit*
|
||||||
|
|
||||||
|
- ViewCube v rohu nebo `_ORBIT` otáčí pohled. Model se neotáčí, otáčí se kamera.
|
||||||
|
- Přední, horní a levý pohled odpovídají nárysu, půdorysu a bokorysu.
|
||||||
|
- `_UCS` posune a natočí souřadnice. Nová tělesa vznikají vůči aktuálnímu UCS.
|
||||||
|
- `_UCS` a volba World vrátí původní osy. Ztracený UCS je nejčastější zmatek ve 3D.
|
||||||
|
|
||||||
|
> Tip: než vysunete profil, zkontrolujte ikonu os. Z má trčet z plochy, kterou vysouváte.
|
||||||
|
|
||||||
|
## Drát a stínování
|
||||||
|
*Ať něco vidíte*
|
||||||
|
|
||||||
|
- Drátový model ukáže všechny hrany, i zadní. Na začátku se v něm líp trefuje.
|
||||||
|
- Stínovaný pohled schová zadní hrany. Přepíná se `_VSCURRENT` nebo nabídkou pohledu.
|
||||||
|
- Zoom kolečkem pořád platí. Výřez na papír přijde až v lekci o výkresu z modelu.
|
||||||
|
- Jednotky zůstávají milimetry. Těleso 60 × 40 × 30 je v tomtéž souboru jako 2D profil.
|
||||||
|
|
||||||
|
> Tip: ztracený model najdete `_ZOOM` Extents. Často leží daleko od počátku, protože UCS byl posunutý.
|
||||||
|
|
||||||
|
## Zadání: tři osy a kvádr
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- V novém souboru v milimetrech nakreslete `_BOX` se základnou 60 × 40 a výškou 30, roh v 0,0,0.
|
||||||
|
- Přepněte na přední, horní a levý pohled. V každém má být vidět jiná dvojice rozměrů.
|
||||||
|
- `_UCS` World a `_DIST` mezi dvěma rohy podél X má dát 60.
|
||||||
|
- Uložte jako kvadr-60x40x30.dwg. LT na tento soubor nestačí.
|
||||||
|
|
||||||
|
> Tip: přední pohled ukáže 60 × 30, horní 60 × 40, levý 40 × 30.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Který AutoCAD umí tělesa `_BOX`?
|
||||||
|
- Každá verze včetně LT
|
||||||
|
- [x] Plný AutoCAD, ne LT
|
||||||
|
- Jen verze na Mac bez příkazů
|
||||||
|
- Žádný, tělesa jsou v jiném programu
|
||||||
|
> LT je 2D. Příkaz `_BOX` v ní není.
|
||||||
|
|
||||||
|
## Co dělá `_ORBIT`?
|
||||||
|
- Otočí těleso v souřadnicích
|
||||||
|
- [x] Otočí pohled kamery
|
||||||
|
- Nastaví měřítko tisku
|
||||||
|
- Smaže osu Z
|
||||||
|
> Model zůstane. Změní se, odkud se na něj díváte.
|
||||||
|
|
||||||
|
## Co vrátí souřadnice do původního směru?
|
||||||
|
- `_ZOOM` Extents
|
||||||
|
- [x] `_UCS` a volba World
|
||||||
|
- Vypnutí hladiny 0
|
||||||
|
- `_PLOT`
|
||||||
|
> Posunutý UCS nechá nová tělesa „ležet na boku“. World je výchozí osy výkresu.
|
||||||
|
|
||||||
|
## Co ukáže přední pohled na kvádr 60 × 40 × 30, když 30 je výška?
|
||||||
|
- 60 × 40
|
||||||
|
- [x] 60 × 30
|
||||||
|
- 40 × 30
|
||||||
|
- Jen osu Z
|
||||||
|
> Přední pohled je šířka a výška. Hloubka 40 je v půdorysu a v bokorysu.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Solids and extrude
|
||||||
|
popis: A box, a cylinder and a profile pulled up by a height.
|
||||||
|
nazev_cviceni: Quiz: extrude
|
||||||
|
nadpis_kvizu: Pick the profile and the height
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/02-telesa-a-vysunuti.md
Normal file
80
content/technicka-grafika/4-rocnik/02-telesa-a-vysunuti.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-vysunuti
|
||||||
|
nazev: Tělesa a vysunutí
|
||||||
|
popis: Kvádr, válec a profil tažený o výšku.
|
||||||
|
nazev_cviceni: Kvíz: vysunutí
|
||||||
|
nadpis_kvizu: Vyberte profil a výšku
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Hotová tělesa
|
||||||
|
*Kvádr a válec*
|
||||||
|
|
||||||
|
- `_BOX` chce roh nebo střed základny, půdorys a výšku.
|
||||||
|
- `_CYLINDER` chce střed, poloměr nebo průměr a výšku.
|
||||||
|
- Výška se měří ve směru osy Z aktuálního UCS.
|
||||||
|
- Tato tělesa jsou plná. Nejsou to stěny z ploch.
|
||||||
|
|
||||||
|
> Tip: válec Ø40 a výška 25 má v příkazu buď poloměr 20, nebo volbu průměru 40.
|
||||||
|
|
||||||
|
## Vysunutí profilu
|
||||||
|
*Z 2D do výšky*
|
||||||
|
|
||||||
|
- `_EXTRUDE` vezme uzavřenou křivku nebo oblast a táhne ji o výšku.
|
||||||
|
- Profil musí být zavřený. Čtyři nenapojené úsečky vysunout nejdou.
|
||||||
|
- Kladná výška jde ve směru Z. Záporná na opačnou stranu.
|
||||||
|
- `_PRESSPULL` umí přitáhnout uzavřenou oblast, na kterou kliknete, bez předchozího výběru.
|
||||||
|
|
||||||
|
> Tip: obdélník 80 × 50 vysunutý o 12 je destička z druháku, teď jako těleso.
|
||||||
|
|
||||||
|
## Profil nejdřív ve 2D
|
||||||
|
*Plocha*
|
||||||
|
|
||||||
|
- Profil nakreslete v rovině, ze které chcete táhnout. Nejčastěji půdorys, Z ven z obrazovky.
|
||||||
|
- `_REGION` z uzavřené křivky udělá jednu plochu. Vysouvá se spolehlivěji než volné čáry.
|
||||||
|
- Po vysunutí profil smíte smazat, nebo ho nechte na hladině PROFIL a tu zmrazte.
|
||||||
|
- Jeden profil, jedna výška. Osazení vznikne až druhým tělesem a booleanem v další lekci.
|
||||||
|
|
||||||
|
> Tip: otevřená křivka se vysune na plochu, ne na těleso. Pro součást potřebujete těleso.
|
||||||
|
|
||||||
|
## Zadání: destička jako těleso
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Profil 120 × 70, `_EXTRUDE` o 10 mm. To je tloušťka destičky.
|
||||||
|
- Díru zatím nekreslete. Ověřte `_MASSPROP`: objem má být 120 × 70 × 10 = 84 000 mm³.
|
||||||
|
- Přední pohled ukáže 120 × 10. Horní pohled 120 × 70.
|
||||||
|
- Uložte jako desticka-3d.dwg.
|
||||||
|
|
||||||
|
> Tip: když objem vyjde dvojnásobek, výška je 20 místo 10. Kóta textu to nespraví, `_MASSPROP` čte model.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaký poloměr má `_CYLINDER` o průměru 40?
|
||||||
|
- 40
|
||||||
|
- [x] 20
|
||||||
|
- 80
|
||||||
|
- 10
|
||||||
|
> Příkaz bez přepnutí bere poloměr. Průměr je volba, nebo napište polovinu.
|
||||||
|
|
||||||
|
## Co `_EXTRUDE` potřebuje, aby vzniklo těleso?
|
||||||
|
- Otevřenou úsečku
|
||||||
|
- [x] Uzavřený profil
|
||||||
|
- Razítko
|
||||||
|
- Už hotový válec
|
||||||
|
> Neuzavřený profil vytvoří jen plochu. Těleso má mít objem.
|
||||||
|
|
||||||
|
## Kam míří kladná výška vysunutí?
|
||||||
|
- Vždy doprava na obrazovce
|
||||||
|
- [x] Ve směru osy Z aktuálního UCS
|
||||||
|
- Do záporného X
|
||||||
|
- Do razítka
|
||||||
|
> Špatně natočený UCS vysune destičku „na bok“. Před příkazem zkontrolujte osy.
|
||||||
|
|
||||||
|
## Objem destičky 120 × 70 × 10 mm je?
|
||||||
|
- 840 mm³
|
||||||
|
- [x] 84 000 mm³
|
||||||
|
- 200 mm³
|
||||||
|
- 12 000 mm³
|
||||||
|
> 120 × 70 = 8 400, krát 10 je 84 000. `_MASSPROP` má ukázat totéž.
|
||||||
6
content/technicka-grafika/4-rocnik/03-rotace.en.md
Normal file
6
content/technicka-grafika/4-rocnik/03-rotace.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Revolving a profile
|
||||||
|
popis: A part symmetric about an axis is the section spun around.
|
||||||
|
nazev_cviceni: Quiz: revolve
|
||||||
|
nadpis_kvizu: Pick the profile and the axis
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/03-rotace.md
Normal file
80
content/technicka-grafika/4-rocnik/03-rotace.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-rotace
|
||||||
|
nazev: Rotace profilu
|
||||||
|
popis: Součást souměrná podle osy vznikne otočením řezu.
|
||||||
|
nazev_cviceni: Kvíz: rotace
|
||||||
|
nadpis_kvizu: Vyberte profil a osu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Kdy rotovat
|
||||||
|
*Místo skládání válců*
|
||||||
|
|
||||||
|
- `_REVOLVE` otočí uzavřený profil kolem osy o zadaný úhel.
|
||||||
|
- 360 stupňů udělá plné rotační těleso. 180 udělá polovinu.
|
||||||
|
- Hodí se na hřídel, pouzdro, přírubu a každou součást souměrnou podle osy.
|
||||||
|
- Profil je polovina řezu. Osa rotace je osa součásti a profil ji smí jen lemovat, ne křížit.
|
||||||
|
|
||||||
|
> Tip: pouzdro z třetího ročníku je jeden profil stěny otočený o 360 stupňů, ne válec minus válec. Oba postupy jsou správně, rotace je u čistě rotačního dílu kratší.
|
||||||
|
|
||||||
|
## Profil
|
||||||
|
*Polovina*
|
||||||
|
|
||||||
|
- Nakreslete jen polovinu řezu, vpravo od osy. Uzavřete ho.
|
||||||
|
- U pouzdra Ø60 / Ø36 dlouhého 80 je profil obdélník 12 × 80. Dvanáct je tloušťka stěny.
|
||||||
|
- Osa je svislá hrana díry. Profil se osy dotýká jen vnější? Ne: vnitřní hrana profilu je o poloměr díry od osy.
|
||||||
|
- Vnitřní hrana leží 18 mm od osy, vnější 30 mm. Šířka profilu je 12 mm.
|
||||||
|
|
||||||
|
> Tip: 36 / 2 = 18 a 60 / 2 = 30. Profil je pás mezi těmito poloměry.
|
||||||
|
|
||||||
|
## Osa a úhel
|
||||||
|
*360*
|
||||||
|
|
||||||
|
- Osu vyberte dva body, nebo jednu úsečku nakreslenou na hladině OSA.
|
||||||
|
- Úhel 360. Menší úhel nechá výseč a na školní hřídeli bývá omyl.
|
||||||
|
- Profil nesmí osu křížit. Křížení AutoCAD odmítne, nebo udělá těleso, které se protíná samo.
|
||||||
|
- Po rotaci profil zmrazte. V řezu ho zase použijete jako kontrolu.
|
||||||
|
|
||||||
|
> Tip: když vznikne plný válec bez díry, profil začínal na ose. Vnitřní hrana musí být 18 mm od osy, ne 0.
|
||||||
|
|
||||||
|
## Zadání: pouzdro rotací
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Osa je úsečka z 0,0 do 0,80.
|
||||||
|
- Profil: obdélník s rohy 18,0 a 30,80.
|
||||||
|
- `_REVOLVE` o 360 stupňů kolem této osy.
|
||||||
|
- `_MASSPROP` objem mezikruží: π × (30² − 18²) × 80. Má vyjít zhruba 144 764 mm³.
|
||||||
|
|
||||||
|
> Tip: 900 − 324 = 576, krát π je asi 1 810, krát 80 je asi 144 800. Řád tisíců, ne desítek.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaký úhel udělá plné rotační těleso?
|
||||||
|
- 90
|
||||||
|
- 180
|
||||||
|
- [x] 360
|
||||||
|
- 45
|
||||||
|
> Polovina otáčky je výseč. Uzavřené pouzdro potřebuje celých 360 stupňů.
|
||||||
|
|
||||||
|
## Kde leží vnitřní hrana profilu pouzdra Ø36?
|
||||||
|
- Na ose
|
||||||
|
- [x] 18 mm od osy
|
||||||
|
- 36 mm od osy
|
||||||
|
- 60 mm od osy
|
||||||
|
> Poloměr díry je polovina průměru. Profil díru ohraničuje, nesmí začínat na ose, jinak díra zmizí.
|
||||||
|
|
||||||
|
## Co se stane, když profil osu kříží?
|
||||||
|
- Vznikne správné pouzdro
|
||||||
|
- [x] AutoCAD rotaci odmítne, nebo těleso protne samo sebe
|
||||||
|
- Profil se jen posune
|
||||||
|
- Vznikne šrafa
|
||||||
|
> Osa smí být hranou profilu, ne smí jím procházet skrz.
|
||||||
|
|
||||||
|
## Proč rotovat pouzdro místo skládání dvou válců?
|
||||||
|
- Jinak to nejde
|
||||||
|
- [x] U rotačního dílu stačí jeden profil
|
||||||
|
- Rotace umí i hranaté osazení bez profilu
|
||||||
|
- `_REVOLVE` funguje i v LT
|
||||||
|
> Oba postupy jsou správně. Rotace je kratší, když je součást souměrná podle osy. LT ji neumí.
|
||||||
6
content/technicka-grafika/4-rocnik/04-boolean.en.md
Normal file
6
content/technicka-grafika/4-rocnik/04-boolean.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Union, subtract and intersect
|
||||||
|
popis: Solids add and subtract like sets.
|
||||||
|
nazev_cviceni: Quiz: booleans
|
||||||
|
nadpis_kvizu: Pick the order of the solids
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/04-boolean.md
Normal file
80
content/technicka-grafika/4-rocnik/04-boolean.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-boolean
|
||||||
|
nazev: Sjednocení, rozdíl a průnik
|
||||||
|
popis: Tělesa se sčítají a odečítají jako množiny.
|
||||||
|
nazev_cviceni: Kvíz: boolean
|
||||||
|
nadpis_kvizu: Vyberte pořadí těles
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Sjednocení
|
||||||
|
*Jeden kus*
|
||||||
|
|
||||||
|
- `_UNION` slepí tělesa, která se dotýkají nebo pronikají, v jeden objekt.
|
||||||
|
- Osazení na hřídeli jsou dva válce. Po sjednocení je to jedna součást.
|
||||||
|
- Tělesa, která se nedotýkají, sjednocení také spojí do jedné skupiny, ale výrobek to není.
|
||||||
|
- Než sjednotíte, zkontrolujte přesah. Mezera 0,01 mm nechá dva kusy.
|
||||||
|
|
||||||
|
> Tip: `_INTERFERE` ukáže, jestli se dvě tělesa opravdu pronikají, nebo se jen zdají dotýkat.
|
||||||
|
|
||||||
|
## Rozdíl
|
||||||
|
*Díra*
|
||||||
|
|
||||||
|
- `_SUBTRACT` nejdřív vyberete těleso, které má zůstat, potvrdíte, a teprve pak těleso, které se odečte.
|
||||||
|
- Obrácené pořadí smaže součást a nechá díru jako váleček. To je nejčastější chyba.
|
||||||
|
- Díra Ø10 je válec Ø10 delší, než je tloušťka stěny, ať rozdíl prořízne celou stěnu.
|
||||||
|
- Válec díry po rozdílu zmizí. Nemusíte ho mazat ručně.
|
||||||
|
|
||||||
|
> Tip: válec díry nechte o milimetr přečuhovat z obou stran. Jinak na stěně zůstane blanka.
|
||||||
|
|
||||||
|
## Průnik
|
||||||
|
*Společný objem*
|
||||||
|
|
||||||
|
- `_INTERSECT` nechá jen objem, který mají tělesa společný. Zbytek zmizí.
|
||||||
|
- Hodí se, když potřebujete tvar daný dvěma podmínkami, třeba válec seříznutý kvádrem.
|
||||||
|
- Na běžnou díru průnik není. Díra je rozdíl.
|
||||||
|
- Po průniku zůstanou obě původní tělesa pryč. Když je budete potřebovat, předem je zkopírujte.
|
||||||
|
|
||||||
|
> Tip: sjednocení přidá, rozdíl ubere, průnik nechá jen překryv. U díry je to vždy rozdíl.
|
||||||
|
|
||||||
|
## Zadání: destička s dírou
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Destička `_BOX` 120 × 70 × 10.
|
||||||
|
- Válec Ø16, střed v 60,35, výška od -1 do 11, ať prochází skrz.
|
||||||
|
- `_SUBTRACT`: nejdřív destička, potom válec.
|
||||||
|
- `_MASSPROP` objem: 84 000 minus objem válce v tloušťce 10. Válec Ø16 a výška 10 má objem π × 8² × 10 ≈ 2 011. Výsledek je asi 81 989 mm³.
|
||||||
|
|
||||||
|
> Tip: když zmizela destička a zbyl váleček, pořadí rozdílu bylo obrácené. Vraťte krok zpět.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jakým pořadím vznikne díra?
|
||||||
|
- Nejdřív válec, potom destička
|
||||||
|
- [x] Nejdřív destička, potom válec
|
||||||
|
- `_UNION`
|
||||||
|
- `_INTERSECT`
|
||||||
|
> První výběr zůstává. Druhý se odečte. Obrácené pořadí nechá jen váleček.
|
||||||
|
|
||||||
|
## Proč má válec díry přečnívat z destičky?
|
||||||
|
- Aby šel okótovat
|
||||||
|
- [x] Aby ve stěně nezůstala blanka
|
||||||
|
- Přečnívat nesmí, rozdíl by selhal
|
||||||
|
- Aby vznikl závit
|
||||||
|
> Válec zarovnaný přesně s plochou někdy nechá tenkou slupku. Milimetr přesahu ji odstraní.
|
||||||
|
|
||||||
|
## Který příkaz slepí dva dotýkající se válce hřídele?
|
||||||
|
- `_SUBTRACT`
|
||||||
|
- [x] `_UNION`
|
||||||
|
- `_INTERSECT`
|
||||||
|
- `_REVOLVE`
|
||||||
|
> Osazení je jeden kus. Sjednocení z dvou válců udělá jedno těleso.
|
||||||
|
|
||||||
|
## Co nechá `_INTERSECT`?
|
||||||
|
- Součet objemů
|
||||||
|
- [x] Jen společný překryv
|
||||||
|
- Díru
|
||||||
|
- Původní tělesa vedle výsledku
|
||||||
|
> Zbytek obou těles zmizí. Před průnikem si je zkopírujte, pokud je ještě budete potřebovat.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Sectioning a solid and Flatshot
|
||||||
|
popis: From the model back to lines for the drawing.
|
||||||
|
nazev_cviceni: Quiz: the model section
|
||||||
|
nadpis_kvizu: Decide what lands on the sheet
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/05-rez-a-flatshot.md
Normal file
80
content/technicka-grafika/4-rocnik/05-rez-a-flatshot.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-rez-modelu
|
||||||
|
nazev: Řez tělesem a plochý snímek
|
||||||
|
popis: Z modelu zpátky čáry pro výkres.
|
||||||
|
nazev_cviceni: Kvíz: řez modelu
|
||||||
|
nadpis_kvizu: Vyberte, co vznikne na papíře
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Řezná rovina
|
||||||
|
*Uvnitř tělesa*
|
||||||
|
|
||||||
|
- `_SECTIONPLANE` položí rovinu řezu. Živé zobrazení ukáže řez, aniž by těleso rozřízlo natrvalo.
|
||||||
|
- `_SLICE` těleso rozřízne doopravdy. Polovinu můžete nechat, nebo smazat.
|
||||||
|
- Na školní výkres řežte živě nebo si před `_SLICE` těleso zkopírujte. Původní model budete ještě potřebovat.
|
||||||
|
- Řez osou pouzdra má ukázat stěnu 12 mm a díru Ø36, stejně jako ruční řez ve třetím ročníku.
|
||||||
|
|
||||||
|
> Tip: rovina, která mine osu, ukáže jinou tloušťku stěny. U pouzdra veďte řez osou.
|
||||||
|
|
||||||
|
## Plochý snímek
|
||||||
|
*Čáry z pohledu*
|
||||||
|
|
||||||
|
- `_FLATSHOT` promítne aktuální pohled do čar v rovině XY.
|
||||||
|
- Viditelné hrany dá na jednu hladinu, skryté na druhou. Skryté pak přepněte na čárkované.
|
||||||
|
- Než příkaz spustíte, nastavte pohled: přední pro nárys, horní pro půdorys.
|
||||||
|
- Snímek je 2D. Dá se kótovat jako výkres z druháku. Model vedle něj nechte nedotčený.
|
||||||
|
|
||||||
|
> Tip: plochý snímek pořízený v šikmém pohledu není nárys. Nejdřív srovnejte pohled, potom foťte.
|
||||||
|
|
||||||
|
## Co snímek neudělá
|
||||||
|
*Kóty a šrafa*
|
||||||
|
|
||||||
|
- Snímek neumí šrafu řezu ani kóty. Ty doplníte vy, na hladiny SRAFA a KOTA.
|
||||||
|
- Neumí ani razítko. To patří do rozvržení.
|
||||||
|
- Čáry snímku bývají na nových hladinách. Přesuňte je na OBRYS a SKRYTE, ať platí školní tloušťky.
|
||||||
|
- Když model potom změníte, snímek se sám neopraví. Po úpravě modelu ho vytvořte znovu.
|
||||||
|
|
||||||
|
> Tip: výkresové pohledy z pozdější lekce se na rozdíl od snímku umí s modelem aktualizovat. Snímek je rychlá kontrola.
|
||||||
|
|
||||||
|
## Zadání: nárys z tělesa
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Otevřete pouzdro z rotace. Přední pohled, `_FLATSHOT`, viditelné hrany na OBRYS.
|
||||||
|
- Do řezu osou doplňte šrafu stěny ručně, nebo použijte živý řez a z něj čáry.
|
||||||
|
- Okótujte Ø60, Ø36 a délku 80. Čísla musí sedět s `_MASSPROP` a s poloměry profilu.
|
||||||
|
- Snímek nesmí zůstat šikmo. Nárys je v rovině, díra je obdélník 36 × 80 uvnitř obdélníku 60 × 80.
|
||||||
|
|
||||||
|
> Tip: v nárysu řezu jsou dvě vodorovné čáry díry. Jejich vzdálenost je 36.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím rozříznete těleso natrvalo?
|
||||||
|
- `_FLATSHOT`
|
||||||
|
- [x] `_SLICE`
|
||||||
|
- `_ORBIT`
|
||||||
|
- `_PLOT`
|
||||||
|
> Živá řezná rovina model nechá celý. `_SLICE` ho rozdělí. Předtím si nechte kopii.
|
||||||
|
|
||||||
|
## Co musí předcházet plochému snímku nárysu?
|
||||||
|
- Tisk
|
||||||
|
- [x] Srovnaný přední pohled
|
||||||
|
- Rozbití tělesa
|
||||||
|
- Šrafa
|
||||||
|
> Snímek promítne to, co právě vidíte. Šikmý orbit není nárys.
|
||||||
|
|
||||||
|
## Doplní `_FLATSHOT` kóty?
|
||||||
|
- Ano, z hladiny KOTA
|
||||||
|
- [x] Ne
|
||||||
|
- Jen průměry
|
||||||
|
- Jen když je měřítko 1:1
|
||||||
|
> Snímek jsou čáry. Kóty, šrafu a razítko dodáte vy.
|
||||||
|
|
||||||
|
## Jak daleko jsou v nárysu řezu pouzdra od sebe čáry díry Ø36?
|
||||||
|
- 18
|
||||||
|
- 60
|
||||||
|
- [x] 36
|
||||||
|
- 12
|
||||||
|
> V řezu je díra obdélník. Jeho výška je průměr, ne poloměr.
|
||||||
6
content/technicka-grafika/4-rocnik/06-zobrazeni.en.md
Normal file
6
content/technicka-grafika/4-rocnik/06-zobrazeni.en.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Visual styles
|
||||||
|
popis: Wireframe, hidden lines and shading for checking the shape.
|
||||||
|
nazev_cviceni: Quiz: display
|
||||||
|
nadpis_kvizu: Pick a style for the task
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/06-zobrazeni.md
Normal file
80
content/technicka-grafika/4-rocnik/06-zobrazeni.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-zobrazeni
|
||||||
|
nazev: Vizuální styly
|
||||||
|
popis: Drát, skryté hrany a stínování pro kontrolu tvaru.
|
||||||
|
nazev_cviceni: Kvíz: zobrazení
|
||||||
|
nadpis_kvizu: Vyberte styl podle úkolu
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Drát a skryté hrany
|
||||||
|
*Kontrola*
|
||||||
|
|
||||||
|
- Drátový model ukáže každou hranu. Hodí se, když saháte na zadní vrchol.
|
||||||
|
- Styl skrytých hran schová, co je za materiálem. Tvar se čte jako na fotografii bez stínu.
|
||||||
|
- `_VSCURRENT` styly přepíná. Na pásu karet je stejná nabídka u pohledu.
|
||||||
|
- Styl nemění těleso. Špatně odečtená díra zůstane špatně v každém stylu.
|
||||||
|
|
||||||
|
> Tip: nejdřív drát, ať trefíte hranu, potom skryté hrany, ať zkontrolujete, že díra opravdu prochází.
|
||||||
|
|
||||||
|
## Stínování
|
||||||
|
*Objem*
|
||||||
|
|
||||||
|
- Konceptuální nebo stínovaný styl ukáže, jestli je díra průchozí, nebo je to jen namalovaná kružnice.
|
||||||
|
- Barva tělesa se bere z hladiny. OBRYS a těleso smí mít vlastní hladinu MODEL.
|
||||||
|
- Materiál a render na škole stačí náznak. Odevzdává se výkres, ne obrázek.
|
||||||
|
- Stínování zpomalí otáčení. Na slabším počítači se vraťte do drátu, než budete modelovat dál.
|
||||||
|
|
||||||
|
> Tip: když v řezu vidíte dno díry, válec byl krátký. Rozdíl stěnu neprošel.
|
||||||
|
|
||||||
|
## Řezy bez rozbití
|
||||||
|
*Pohled*
|
||||||
|
|
||||||
|
- Živý řez v kombinaci se stínováním je nejrychlejší kontrola tloušťky stěny.
|
||||||
|
- Pohled uložte `_VIEW`, ať se k němu vrátíte. Název třeba REZ-AA.
|
||||||
|
- Izometrický stínovaný pohled smí přijít na výkres jako názorný doplněk, ne jako jediný obraz.
|
||||||
|
- Barvy na obrazovce pořád tiskněte černě. Styl zobrazení není tabulka per.
|
||||||
|
|
||||||
|
> Tip: uložený pohled nese i styl. Když REZ-AA otevřete a je z něj drát, někdo styl přepsal.
|
||||||
|
|
||||||
|
## Zadání: tři kontroly destičky
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Destičku s dírou Ø16 zobrazte jako drát, jako skryté hrany a stínovaně.
|
||||||
|
- Ve stínovaném horním pohledu musí být skrz díru vidět. Když není, opakujte rozdíl.
|
||||||
|
- Uložte pohled HORNI a pohled PREDNI.
|
||||||
|
- Do výkresu tyto pohledy zatím nevkládejte. Jde o kontrolu modelu.
|
||||||
|
|
||||||
|
> Tip: díra, která ve stínu má dno stejné barvy jako destička, je slepá. Výška válce byla menší než 10 mm.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Který styl nechá vidět i zadní hrany?
|
||||||
|
- Stínovaný
|
||||||
|
- [x] Drátový
|
||||||
|
- Skryté hrany
|
||||||
|
- Monochrome.ctb
|
||||||
|
> Drát nekryje nic. Skryté hrany a stín zadní geometrii schovají.
|
||||||
|
|
||||||
|
## Změní vizuální styl objem tělesa?
|
||||||
|
- Ano, stín ubere materiál
|
||||||
|
- [x] Ne
|
||||||
|
- Jen u rozdílu
|
||||||
|
- Jen při tisku
|
||||||
|
> Styl je způsob kresby na obrazovce. `_MASSPROP` zůstane stejný.
|
||||||
|
|
||||||
|
## Co máte vidět skrz průchozí díru ve stínovaném pohledu?
|
||||||
|
- Dno stejné barvy
|
||||||
|
- [x] Prostor za destičkou
|
||||||
|
- Šrafu ANSI31
|
||||||
|
- Razítko
|
||||||
|
> Dno znamená, že válec díry byl krátký a rozdíl stěnu neprošel.
|
||||||
|
|
||||||
|
## Čím se na papír dostane černá čára, když je model na obrazovce modrý?
|
||||||
|
- Vizuálním stylem
|
||||||
|
- [x] Tabulkou per při tisku
|
||||||
|
- Smazáním hladiny
|
||||||
|
- `_ORBIT`
|
||||||
|
> Barva na monitoru je pracovní. monochrome.ctb z ní na PDF udělá černou.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: A drawing from the 3D model
|
||||||
|
popis: A front view and a section that update with the model.
|
||||||
|
nazev_cviceni: Quiz: model views
|
||||||
|
nadpis_kvizu: Tie the sheet to the solid
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/07-vykres-z-modelu.md
Normal file
80
content/technicka-grafika/4-rocnik/07-vykres-z-modelu.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-vykres-z-modelu
|
||||||
|
nazev: Výkres z 3D modelu
|
||||||
|
popis: Nárys a řez, které se s modelem aktualizují.
|
||||||
|
nazev_cviceni: Kvíz: pohledy z modelu
|
||||||
|
nadpis_kvizu: Propojte výkres s tělesem
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Základní pohled
|
||||||
|
*Z tělesa*
|
||||||
|
|
||||||
|
- V rozvržení příkaz základního pohledu vezme těleso a položí na papír nárys, půdorys nebo izometrii.
|
||||||
|
- Měřítko pohledu nastavíte jako u výřezu, třeba 1:1 nebo 1:2.
|
||||||
|
- Odvozené pohledy se položí nad, pod nebo vedle. Drží evropské promítání, když ho tak nastavíte.
|
||||||
|
- Pohled je svázaný s modelem. Změna tělesa a aktualizace pohledu přepíše čáry.
|
||||||
|
|
||||||
|
> Tip: plochý snímek se sám neopraví. Pohled z modelu ano. Na maturitní výkres použijte pohled.
|
||||||
|
|
||||||
|
## Řez pohledu
|
||||||
|
*A-A*
|
||||||
|
|
||||||
|
- Z základního pohledu uděláte řez tažením řezné čáry. Písmena A doplní AutoCAD, nebo je přepište na A.
|
||||||
|
- Šrafu řezu nastavte na ANSI31 a školní měřítko. Hřídel v podélném řezu pořád nešrafujte, i když to AutoCAD nabídne.
|
||||||
|
- Skryté čáry v pohledu vypněte, pokud řez vnitřek ukázal. Výkres zůstane čistý.
|
||||||
|
- Kóty klikejte na pohled, ne do modelu naslepo. Berou rozměr z tělesa.
|
||||||
|
|
||||||
|
> Tip: kóta napojená na pohled se po aktualizaci přepočítá. Kóta nakreslená vedle jako obyčejná čára ne.
|
||||||
|
|
||||||
|
## Papír
|
||||||
|
*A3*
|
||||||
|
|
||||||
|
- Rámeček a razítko jsou v rozvržení, měřítko 1:1 vůči papíru.
|
||||||
|
- Tisk je Layout, 1:1, monochrome.ctb, jako ve třetím ročníku.
|
||||||
|
- Izometrický pohled bez kót smí být třetí obraz. Nesmí být jediný.
|
||||||
|
- Než odevzdáte, aktualizujte pohledy. Starý pohled lže, když jste model mezitím změnili.
|
||||||
|
|
||||||
|
> Tip: ve stromu nebo přes aktualizaci pohledu uvidíte, jestli je obraz aktuální. Nevěřte čáře, která přežila smazanou díru.
|
||||||
|
|
||||||
|
## Zadání: pouzdro na A3
|
||||||
|
*Cvičení*
|
||||||
|
|
||||||
|
- Z 3D pouzdra vytvořte nárys jako řez A-A a půdorys nebo bokorys s roztečí, pokud na modelu díry jsou.
|
||||||
|
- Měřítko 1:1, formát A3. Kóty Ø60, Ø36 a 80.
|
||||||
|
- Změňte v modelu délku na 90, aktualizujte pohled a přesvědčte se, že kóta délky ukáže 90.
|
||||||
|
- Vraťte délku na 80, ať odevzdáte zadání, ne zkoušku. PDF pojmenujte pouzdro-z-modelu.pdf.
|
||||||
|
|
||||||
|
> Tip: když po změně modelu kóta zůstane 80, není napojená na pohled. Smažte ji a okótujte znovu.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Čím se pohled z modelu liší od `_FLATSHOT`?
|
||||||
|
- Ničím
|
||||||
|
- [x] Po změně tělesa se dá aktualizovat
|
||||||
|
- Umí jen izometrii
|
||||||
|
- Funguje v LT
|
||||||
|
> Snímek je jednorázová kopie čar. Pohled zůstává svázaný s tělesem.
|
||||||
|
|
||||||
|
## Kam patří rámeček výkresu z modelu?
|
||||||
|
- Dovnitř tělesa
|
||||||
|
- [x] Do rozvržení
|
||||||
|
- Na hladinu OBRYS modelu
|
||||||
|
- Do definice bloku
|
||||||
|
> Papír má vlastní měřítko. Rámeček v modelu by se zmenšil s pohledem.
|
||||||
|
|
||||||
|
## Co uděláte po změně délky pouzdra v modelu?
|
||||||
|
- Nic, kóty se nemění nikdy
|
||||||
|
- [x] Aktualizujete pohled
|
||||||
|
- Smažete razítko
|
||||||
|
- Přepnete na LT
|
||||||
|
> Neaktualizovaný pohled ukazuje starý tvar. Kóta napojená na něj se přepočítá spolu s ním.
|
||||||
|
|
||||||
|
## Jaké měřítko má tisk tohoto rozvržení?
|
||||||
|
- 1:2, protože model je velký
|
||||||
|
- [x] 1:1
|
||||||
|
- Podle `_MASSPROP`
|
||||||
|
- Fit
|
||||||
|
> Měřítko obrazu drží pohled. Tisk papíru je 1:1, jinak se měřítko zdvojí.
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
nazev: Exam assignment
|
||||||
|
popis: From a sketch through the model to a PDF that stands on its own.
|
||||||
|
nazev_cviceni: Quiz: the exam piece
|
||||||
|
nadpis_kvizu: Walk the whole drawing
|
||||||
|
---
|
||||||
80
content/technicka-grafika/4-rocnik/08-maturitni-zadani.md
Normal file
80
content/technicka-grafika/4-rocnik/08-maturitni-zadani.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: tg-4-maturitni-zadani
|
||||||
|
nazev: Maturitní zadání
|
||||||
|
popis: Od náčrtu přes model po PDF, které obstojí samo.
|
||||||
|
nazev_cviceni: Kvíz: maturita
|
||||||
|
nadpis_kvizu: Projdete celý výkres
|
||||||
|
---
|
||||||
|
|
||||||
|
# Výklad
|
||||||
|
|
||||||
|
## Součást
|
||||||
|
*Přírubové pouzdro*
|
||||||
|
|
||||||
|
- Dutý válec Ø70 / Ø40, délka 60. Na jednom konci příruba Ø110 tlustá 12.
|
||||||
|
- Čtyři díry Ø11 na roztečné kružnici Ø90 v přírubě. Jsou průchozí skrz přírubu, ne skrz celé pouzdro.
|
||||||
|
- Vnitřní hrana díry Ø40 má zkosení 1 × 45° na straně příruby.
|
||||||
|
- Materiál ocel. Jednotky milimetry. Model 1:1.
|
||||||
|
|
||||||
|
> Tip: tloušťka stěny válce je (70 − 40) / 2 = 15 mm. Příruba přesahuje válec o (110 − 70) / 2 = 20 mm.
|
||||||
|
|
||||||
|
## Model
|
||||||
|
*Pořadí*
|
||||||
|
|
||||||
|
- Profil řezu rotujte, nebo složte válec Ø70, válec příruby Ø110 výšky 12 a odečtěte díru Ø40.
|
||||||
|
- Čtyři díry Ø11 vzniknou polárním polem válce na poloměru 45 a rozdílem od příruby.
|
||||||
|
- Válec díry Ø11 musí být delší než 12 mm, ať je díra průchozí. Do dutiny Ø40 díra Ø11 nezasahuje, leží v materiálu příruby.
|
||||||
|
- `_MASSPROP` spočítejte orientačně a porovnejte s ručním odhadem. Řád objemu je statisíce mm³, ne tisíce.
|
||||||
|
|
||||||
|
> Tip: rozteč Ø90 je poloměr 45. Díra se středem na poloměru 55 by už ležela mimo přírubu Ø110.
|
||||||
|
|
||||||
|
## Výkres
|
||||||
|
*A3, 1:1*
|
||||||
|
|
||||||
|
- Nárys je řez A-A osou. Půdorys ukáže čtyři díry. Izometrie bez kót je doplněk.
|
||||||
|
- Kóty: Ø110, Ø70, Ø40, tloušťka příruby 12, délka 60, 4× Ø11 na Ø90, zkosení 1 × 45°.
|
||||||
|
- Hladiny OBRYS, OSA, SRAFA, KOTA, RAM. Šrafa jen v řezu, jeden směr, díry prázdné.
|
||||||
|
- Razítko: Přírubové pouzdro, ocel, 1:1, jméno. Tisk A3, Layout, 1:1, monochrome.ctb.
|
||||||
|
|
||||||
|
> Tip: evropské promítání. Půdorys pod nárysem. Čtyři díry se kótují jednou.
|
||||||
|
|
||||||
|
## Než odevzdáte
|
||||||
|
*Kontrola*
|
||||||
|
|
||||||
|
- Každá kóta se dá z modelu ověřit. Žádný text není přepsaný.
|
||||||
|
- Vypnutá hladina KOTA nechá čistý tvar. Vypnutá SRAFA nechá obrys řezu.
|
||||||
|
- PDF se jmenuje prirubove-pouzdro-A3.pdf a rámeček má 420 × 297 mm.
|
||||||
|
- Soubor dwg odevzdejte spolu s PDF. Bez modelu výkres nejde opravit.
|
||||||
|
|
||||||
|
> Tip: otevřete PDF na celou stránku. Když je razítko useknuté nebo šrafa černá, tisk opakujte. Na obrazovce AutoCADu to vidět nebylo.
|
||||||
|
|
||||||
|
|
||||||
|
# Kvíz
|
||||||
|
|
||||||
|
## Jaká je tloušťka stěny válce Ø70 s dírou Ø40?
|
||||||
|
- 30 mm
|
||||||
|
- [x] 15 mm
|
||||||
|
- 40 mm
|
||||||
|
- 12 mm
|
||||||
|
> Rozdíl průměrů je 30 mm na obě strany. Jedna stěna má 15 mm. 12 mm je tloušťka příruby, ne stěny.
|
||||||
|
|
||||||
|
## Kam patří čtyři díry Ø11?
|
||||||
|
- Skrz celou délku 60
|
||||||
|
- [x] Skrz přírubu tlustou 12, na Ø90
|
||||||
|
- Do díry Ø40
|
||||||
|
- Na osu jako závit M11
|
||||||
|
> Leží v materiálu příruby mezi Ø70 a Ø110. Rozteč 90, poloměr 45.
|
||||||
|
|
||||||
|
## Jaké měřítko má model i tisk tohoto výkresu?
|
||||||
|
- Model 1:2, tisk 1:2
|
||||||
|
- [x] Model 1:1, tisk rozvržení 1:1
|
||||||
|
- Model 2:1, tisk Fit
|
||||||
|
- Měřítko se do razítka nepíše
|
||||||
|
> Součást i papír jsou ve skutečných milimetrech. Měřítko pohledu je 1:1, protože se A3 vejde.
|
||||||
|
|
||||||
|
## Co odevzdáváte spolu s PDF?
|
||||||
|
- Jen izometrii
|
||||||
|
- [x] I soubor dwg
|
||||||
|
- Rozbitý blok razítka
|
||||||
|
- Výkres bez kót, kóty jsou v PDF
|
||||||
|
> Z PDF už model neopravíte. DwG je práce, PDF je odevzdaný tisk.
|
||||||
|
|
@ -234,6 +234,26 @@ final class AppModel: ObservableObject {
|
||||||
refresh()
|
refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func markTg(_ id: Int) {
|
||||||
|
progress.markTg(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func markTg2(_ id: Int) {
|
||||||
|
progress.markTg2(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func markTg3(_ id: Int) {
|
||||||
|
progress.markTg3(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func markTg4(_ id: Int) {
|
||||||
|
progress.markTg4(id)
|
||||||
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
func markMat0(_ id: Int) {
|
func markMat0(_ id: Int) {
|
||||||
progress.markMat0(id)
|
progress.markMat0(id)
|
||||||
refresh()
|
refresh()
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,10 @@ final class Content {
|
||||||
let fyz2: [J]
|
let fyz2: [J]
|
||||||
let fyz3: [J]
|
let fyz3: [J]
|
||||||
let fyz4: [J]
|
let fyz4: [J]
|
||||||
|
let tg: [J]
|
||||||
|
let tg2: [J]
|
||||||
|
let tg3: [J]
|
||||||
|
let tg4: [J]
|
||||||
let mat0: [J]
|
let mat0: [J]
|
||||||
let mat: [J]
|
let mat: [J]
|
||||||
let mat2: [J]
|
let mat2: [J]
|
||||||
|
|
@ -125,6 +129,10 @@ final class Content {
|
||||||
fyz2 = raw.arr("fyz2")
|
fyz2 = raw.arr("fyz2")
|
||||||
fyz3 = raw.arr("fyz3")
|
fyz3 = raw.arr("fyz3")
|
||||||
fyz4 = raw.arr("fyz4")
|
fyz4 = raw.arr("fyz4")
|
||||||
|
tg = raw.arr("tg")
|
||||||
|
tg2 = raw.arr("tg2")
|
||||||
|
tg3 = raw.arr("tg3")
|
||||||
|
tg4 = raw.arr("tg4")
|
||||||
mat0 = raw.arr("mat0")
|
mat0 = raw.arr("mat0")
|
||||||
mat = raw.arr("mat")
|
mat = raw.arr("mat")
|
||||||
mat2 = raw.arr("mat2")
|
mat2 = raw.arr("mat2")
|
||||||
|
|
@ -187,6 +195,10 @@ final class Content {
|
||||||
func fyz2Lesson(_ id: Int) -> J? { fyz2.first { $0.int("id") == id } }
|
func fyz2Lesson(_ id: Int) -> J? { fyz2.first { $0.int("id") == id } }
|
||||||
func fyz3Lesson(_ id: Int) -> J? { fyz3.first { $0.int("id") == id } }
|
func fyz3Lesson(_ id: Int) -> J? { fyz3.first { $0.int("id") == id } }
|
||||||
func fyz4Lesson(_ id: Int) -> J? { fyz4.first { $0.int("id") == id } }
|
func fyz4Lesson(_ id: Int) -> J? { fyz4.first { $0.int("id") == id } }
|
||||||
|
func tgLesson(_ id: Int) -> J? { tg.first { $0.int("id") == id } }
|
||||||
|
func tg2Lesson(_ id: Int) -> J? { tg2.first { $0.int("id") == id } }
|
||||||
|
func tg3Lesson(_ id: Int) -> J? { tg3.first { $0.int("id") == id } }
|
||||||
|
func tg4Lesson(_ id: Int) -> J? { tg4.first { $0.int("id") == id } }
|
||||||
func mat0Lesson(_ id: Int) -> J? { mat0.first { $0.int("id") == id } }
|
func mat0Lesson(_ id: Int) -> J? { mat0.first { $0.int("id") == id } }
|
||||||
func matLesson(_ id: Int) -> J? { mat.first { $0.int("id") == id } }
|
func matLesson(_ id: Int) -> J? { mat.first { $0.int("id") == id } }
|
||||||
func mat2Lesson(_ id: Int) -> J? { mat2.first { $0.int("id") == id } }
|
func mat2Lesson(_ id: Int) -> J? { mat2.first { $0.int("id") == id } }
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,14 @@ final class ProgressStore {
|
||||||
func markFyz3(_ id: Int) { mark("fyz3.\(id)") }
|
func markFyz3(_ id: Int) { mark("fyz3.\(id)") }
|
||||||
func fyz4Done(_ id: Int) -> Bool { done("fyz4.\(id)") }
|
func fyz4Done(_ id: Int) -> Bool { done("fyz4.\(id)") }
|
||||||
func markFyz4(_ id: Int) { mark("fyz4.\(id)") }
|
func markFyz4(_ id: Int) { mark("fyz4.\(id)") }
|
||||||
|
func tgDone(_ id: Int) -> Bool { done("tg.\(id)") }
|
||||||
|
func markTg(_ id: Int) { mark("tg.\(id)") }
|
||||||
|
func tg2Done(_ id: Int) -> Bool { done("tg2.\(id)") }
|
||||||
|
func markTg2(_ id: Int) { mark("tg2.\(id)") }
|
||||||
|
func tg3Done(_ id: Int) -> Bool { done("tg3.\(id)") }
|
||||||
|
func markTg3(_ id: Int) { mark("tg3.\(id)") }
|
||||||
|
func tg4Done(_ id: Int) -> Bool { done("tg4.\(id)") }
|
||||||
|
func markTg4(_ id: Int) { mark("tg4.\(id)") }
|
||||||
func mat0Done(_ id: Int) -> Bool { done("mat0.\(id)") }
|
func mat0Done(_ id: Int) -> Bool { done("mat0.\(id)") }
|
||||||
func markMat0(_ id: Int) { mark("mat0.\(id)") }
|
func markMat0(_ id: Int) { mark("mat0.\(id)") }
|
||||||
func matDone(_ id: Int) -> Bool { done("mat.\(id)") }
|
func matDone(_ id: Int) -> Bool { done("mat.\(id)") }
|
||||||
|
|
@ -288,6 +296,38 @@ func summarize(_ content: Content, _ p: ProgressStore) -> ProgressSum {
|
||||||
sum.doneUnits += 1
|
sum.doneUnits += 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for l in content.tg {
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if p.tgDone(l.int("id")) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for l in content.tg2 {
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if p.tg2Done(l.int("id")) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for l in content.tg3 {
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if p.tg3Done(l.int("id")) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for l in content.tg4 {
|
||||||
|
sum.totalEx += 1
|
||||||
|
sum.openUnits += 1
|
||||||
|
if p.tg4Done(l.int("id")) {
|
||||||
|
sum.doneEx += 1
|
||||||
|
sum.doneUnits += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
for l in content.mat0 {
|
for l in content.mat0 {
|
||||||
sum.totalEx += 1
|
sum.totalEx += 1
|
||||||
sum.openUnits += 1
|
sum.openUnits += 1
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,19 @@ enum Route: Hashable {
|
||||||
case fyz4Map
|
case fyz4Map
|
||||||
case fyz4Lesson(Int)
|
case fyz4Lesson(Int)
|
||||||
case fyz4Ex(Int)
|
case fyz4Ex(Int)
|
||||||
|
case tgYears
|
||||||
|
case tgMap
|
||||||
|
case tgLesson(Int)
|
||||||
|
case tgEx(Int)
|
||||||
|
case tg2Map
|
||||||
|
case tg2Lesson(Int)
|
||||||
|
case tg2Ex(Int)
|
||||||
|
case tg3Map
|
||||||
|
case tg3Lesson(Int)
|
||||||
|
case tg3Ex(Int)
|
||||||
|
case tg4Map
|
||||||
|
case tg4Lesson(Int)
|
||||||
|
case tg4Ex(Int)
|
||||||
case czechMap
|
case czechMap
|
||||||
case mluvnice
|
case mluvnice
|
||||||
case mluvEx(Int)
|
case mluvEx(Int)
|
||||||
|
|
@ -224,6 +237,19 @@ enum Route: Hashable {
|
||||||
case .fyz4Map: return "fyz4map"
|
case .fyz4Map: return "fyz4map"
|
||||||
case .fyz4Lesson(let id): return "fyz4unit\(id)"
|
case .fyz4Lesson(let id): return "fyz4unit\(id)"
|
||||||
case .fyz4Ex(let id): return "fyz4ex\(id)"
|
case .fyz4Ex(let id): return "fyz4ex\(id)"
|
||||||
|
case .tgYears: return "tgyears"
|
||||||
|
case .tgMap: return "tgmap"
|
||||||
|
case .tgLesson(let id): return "tgunit\(id)"
|
||||||
|
case .tgEx(let id): return "tgex\(id)"
|
||||||
|
case .tg2Map: return "tg2map"
|
||||||
|
case .tg2Lesson(let id): return "tg2unit\(id)"
|
||||||
|
case .tg2Ex(let id): return "tg2ex\(id)"
|
||||||
|
case .tg3Map: return "tg3map"
|
||||||
|
case .tg3Lesson(let id): return "tg3unit\(id)"
|
||||||
|
case .tg3Ex(let id): return "tg3ex\(id)"
|
||||||
|
case .tg4Map: return "tg4map"
|
||||||
|
case .tg4Lesson(let id): return "tg4unit\(id)"
|
||||||
|
case .tg4Ex(let id): return "tg4ex\(id)"
|
||||||
case .czechMap: return "czechmap"
|
case .czechMap: return "czechmap"
|
||||||
case .mluvnice: return "mluvnice"
|
case .mluvnice: return "mluvnice"
|
||||||
case .mluvEx(let n): return "mluve\(n)"
|
case .mluvEx(let n): return "mluve\(n)"
|
||||||
|
|
@ -448,6 +474,32 @@ enum Route: Hashable {
|
||||||
return [.fyzYears, .fyz4Map, .fyz4Lesson(id)]
|
return [.fyzYears, .fyz4Map, .fyz4Lesson(id)]
|
||||||
case .fyz4Ex(let id):
|
case .fyz4Ex(let id):
|
||||||
return [.fyzYears, .fyz4Map, .fyz4Lesson(id), .fyz4Ex(id)]
|
return [.fyzYears, .fyz4Map, .fyz4Lesson(id), .fyz4Ex(id)]
|
||||||
|
case .tgYears:
|
||||||
|
return [.tgYears]
|
||||||
|
case .tgMap:
|
||||||
|
return [.tgYears, .tgMap]
|
||||||
|
case .tgLesson(let id):
|
||||||
|
return [.tgYears, .tgMap, .tgLesson(id)]
|
||||||
|
case .tgEx(let id):
|
||||||
|
return [.tgYears, .tgMap, .tgLesson(id), .tgEx(id)]
|
||||||
|
case .tg2Map:
|
||||||
|
return [.tgYears, .tg2Map]
|
||||||
|
case .tg2Lesson(let id):
|
||||||
|
return [.tgYears, .tg2Map, .tg2Lesson(id)]
|
||||||
|
case .tg2Ex(let id):
|
||||||
|
return [.tgYears, .tg2Map, .tg2Lesson(id), .tg2Ex(id)]
|
||||||
|
case .tg3Map:
|
||||||
|
return [.tgYears, .tg3Map]
|
||||||
|
case .tg3Lesson(let id):
|
||||||
|
return [.tgYears, .tg3Map, .tg3Lesson(id)]
|
||||||
|
case .tg3Ex(let id):
|
||||||
|
return [.tgYears, .tg3Map, .tg3Lesson(id), .tg3Ex(id)]
|
||||||
|
case .tg4Map:
|
||||||
|
return [.tgYears, .tg4Map]
|
||||||
|
case .tg4Lesson(let id):
|
||||||
|
return [.tgYears, .tg4Map, .tg4Lesson(id)]
|
||||||
|
case .tg4Ex(let id):
|
||||||
|
return [.tgYears, .tg4Map, .tg4Lesson(id), .tg4Ex(id)]
|
||||||
case .czechMap:
|
case .czechMap:
|
||||||
return [.czechMap]
|
return [.czechMap]
|
||||||
case .mluvnice:
|
case .mluvnice:
|
||||||
|
|
@ -508,6 +560,11 @@ func routeFromPage(_ page: String) -> Route? {
|
||||||
case "fyz2map": return .fyz2Map
|
case "fyz2map": return .fyz2Map
|
||||||
case "fyz3map": return .fyz3Map
|
case "fyz3map": return .fyz3Map
|
||||||
case "fyz4map": return .fyz4Map
|
case "fyz4map": return .fyz4Map
|
||||||
|
case "tgyears": return .tgYears
|
||||||
|
case "tgmap": return .tgMap
|
||||||
|
case "tg2map": return .tg2Map
|
||||||
|
case "tg3map": return .tg3Map
|
||||||
|
case "tg4map": return .tg4Map
|
||||||
case "czechmap": return .czechMap
|
case "czechmap": return .czechMap
|
||||||
case "mluvnice": return .mluvnice
|
case "mluvnice": return .mluvnice
|
||||||
case "readinglist": return .readingList
|
case "readinglist": return .readingList
|
||||||
|
|
@ -617,6 +674,30 @@ func routeFromPage(_ page: String) -> Route? {
|
||||||
if let m = page.wholeMatch(of: /fyzex(\d+)/), let n = Int(m.1) {
|
if let m = page.wholeMatch(of: /fyzex(\d+)/), let n = Int(m.1) {
|
||||||
return .fyzEx(n)
|
return .fyzEx(n)
|
||||||
}
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg4unit(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg4Lesson(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg4ex(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg4Ex(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg3unit(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg3Lesson(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg3ex(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg3Ex(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg2unit(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg2Lesson(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tg2ex(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tg2Ex(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tgunit(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tgLesson(n)
|
||||||
|
}
|
||||||
|
if let m = page.wholeMatch(of: /tgex(\d+)/), let n = Int(m.1) {
|
||||||
|
return .tgEx(n)
|
||||||
|
}
|
||||||
if let m = page.wholeMatch(of: /lit4unit(\d+)/), let n = Int(m.1) {
|
if let m = page.wholeMatch(of: /lit4unit(\d+)/), let n = Int(m.1) {
|
||||||
return .lit4Lesson(n)
|
return .lit4Lesson(n)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -679,6 +679,7 @@ func subjectSymbol(_ icon: String) -> String {
|
||||||
case "flask": return "flask.fill"
|
case "flask": return "flask.fill"
|
||||||
case "bolt": return "bolt.fill"
|
case "bolt": return "bolt.fill"
|
||||||
case "function": return "function"
|
case "function": return "function"
|
||||||
|
case "ruler": return "ruler.fill"
|
||||||
default: return "lock.fill"
|
default: return "lock.fill"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -952,6 +952,39 @@ struct ChoiceLessonScreen: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct TgQuizScreen: View {
|
||||||
|
@ObservedObject var vm: AppModel
|
||||||
|
let year: Int
|
||||||
|
let id: Int
|
||||||
|
|
||||||
|
var body: some View {
|
||||||
|
let lesson: J? = {
|
||||||
|
switch year {
|
||||||
|
case 2: return vm.content.tg2Lesson(id)
|
||||||
|
case 3: return vm.content.tg3Lesson(id)
|
||||||
|
case 4: return vm.content.tg4Lesson(id)
|
||||||
|
default: return vm.content.tgLesson(id)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if let lesson {
|
||||||
|
let spec = J([
|
||||||
|
"type": "choice",
|
||||||
|
"title": vm.tr(lesson.str("exTitleKey")),
|
||||||
|
"sub": lesson.str("quizHeadKey"),
|
||||||
|
"questions": lesson.rawArray("quiz"),
|
||||||
|
])
|
||||||
|
DispatchExercise(vm: vm, spec: spec, titleFallback: vm.tr(lesson.str("exTitleKey"))) {
|
||||||
|
switch year {
|
||||||
|
case 2: vm.markTg2(id)
|
||||||
|
case 3: vm.markTg3(id)
|
||||||
|
case 4: vm.markTg4(id)
|
||||||
|
default: vm.markTg(id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct FyzQuizScreen: View {
|
struct FyzQuizScreen: View {
|
||||||
@ObservedObject var vm: AppModel
|
@ObservedObject var vm: AppModel
|
||||||
let year: Int
|
let year: Int
|
||||||
|
|
|
||||||
|
|
@ -713,6 +713,12 @@ private func subjectSum(_ vm: AppModel, _ s: J) -> ProgressSum {
|
||||||
+ vm.content.mat2.filter { vm.progress.mat2Done($0.int("id")) }.count
|
+ vm.content.mat2.filter { vm.progress.mat2Done($0.int("id")) }.count
|
||||||
+ vm.content.mat3.filter { vm.progress.mat3Done($0.int("id")) }.count
|
+ vm.content.mat3.filter { vm.progress.mat3Done($0.int("id")) }.count
|
||||||
+ vm.content.mat4.filter { vm.progress.mat4Done($0.int("id")) }.count
|
+ vm.content.mat4.filter { vm.progress.mat4Done($0.int("id")) }.count
|
||||||
|
case "tgyears", "tgmap", "tg2map", "tg3map", "tg4map":
|
||||||
|
sum.totalEx = vm.content.tg.count + vm.content.tg2.count + vm.content.tg3.count + vm.content.tg4.count
|
||||||
|
sum.doneEx = vm.content.tg.filter { vm.progress.tgDone($0.int("id")) }.count
|
||||||
|
+ vm.content.tg2.filter { vm.progress.tg2Done($0.int("id")) }.count
|
||||||
|
+ vm.content.tg3.filter { vm.progress.tg3Done($0.int("id")) }.count
|
||||||
|
+ vm.content.tg4.filter { vm.progress.tg4Done($0.int("id")) }.count
|
||||||
case "fyzyears", "fyzmap", "fyz2map", "fyz3map", "fyz4map":
|
case "fyzyears", "fyzmap", "fyz2map", "fyz3map", "fyz4map":
|
||||||
sum.totalEx = vm.content.fyz.count + vm.content.fyz2.count + vm.content.fyz3.count + vm.content.fyz4.count
|
sum.totalEx = vm.content.fyz.count + vm.content.fyz2.count + vm.content.fyz3.count + vm.content.fyz4.count
|
||||||
sum.doneEx = vm.content.fyz.filter { vm.progress.fyzDone($0.int("id")) }.count
|
sum.doneEx = vm.content.fyz.filter { vm.progress.fyzDone($0.int("id")) }.count
|
||||||
|
|
@ -1015,6 +1021,27 @@ private func buildSearch(_ vm: AppModel) -> [Hit] {
|
||||||
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "fyz4unit\(l.int("id"))", extra: "fyzika")
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "fyz4unit\(l.int("id"))", extra: "fyzika")
|
||||||
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "fyz4ex\(l.int("id"))")
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "fyz4ex\(l.int("id"))")
|
||||||
}
|
}
|
||||||
|
add(vm.tr("Technická grafika"), vm.tr("search_lesson"), "tgyears", extra: "autocad grafika")
|
||||||
|
add(vm.tr("tg_year1"), vm.tr("search_lesson"), "tgmap", extra: "rocnik")
|
||||||
|
add(vm.tr("tg_year2"), vm.tr("search_lesson"), "tg2map", extra: "rocnik")
|
||||||
|
add(vm.tr("tg_year3"), vm.tr("search_lesson"), "tg3map", extra: "rocnik")
|
||||||
|
add(vm.tr("tg_year4"), vm.tr("search_lesson"), "tg4map", extra: "rocnik")
|
||||||
|
for l in vm.content.tg {
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tgunit\(l.int("id"))", extra: "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tgex\(l.int("id"))")
|
||||||
|
}
|
||||||
|
for l in vm.content.tg2 {
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg2unit\(l.int("id"))", extra: "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg2ex\(l.int("id"))")
|
||||||
|
}
|
||||||
|
for l in vm.content.tg3 {
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg3unit\(l.int("id"))", extra: "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg3ex\(l.int("id"))")
|
||||||
|
}
|
||||||
|
for l in vm.content.tg4 {
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_lesson"), "tg4unit\(l.int("id"))", extra: "autocad")
|
||||||
|
add(vm.tr(l.str("titleKey")), vm.tr("search_exercise"), "tg4ex\(l.int("id"))")
|
||||||
|
}
|
||||||
add(vm.tr("Chemie"), vm.tr("search_lesson"), "chemmap", extra: "chemie")
|
add(vm.tr("Chemie"), vm.tr("search_lesson"), "chemmap", extra: "chemie")
|
||||||
add(vm.tr("Biologie"), vm.tr("search_lesson"), "biomap", extra: "biologie")
|
add(vm.tr("Biologie"), vm.tr("search_lesson"), "biomap", extra: "biologie")
|
||||||
for l in vm.content.chem {
|
for l in vm.content.chem {
|
||||||
|
|
@ -1749,6 +1776,47 @@ struct MatYearsScreen: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct TgYearsScreen: View {
|
||||||
|
@ObservedObject var vm: AppModel
|
||||||
|
|
||||||
|
var body: some View {
|
||||||
|
#if os(macOS)
|
||||||
|
let years: [(String, String, Route)] = [
|
||||||
|
("tg_year1", "tg_sub", .tgMap),
|
||||||
|
("tg_year2", "tg2_sub", .tg2Map),
|
||||||
|
("tg_year3", "tg3_sub", .tg3Map),
|
||||||
|
("tg_year4", "tg4_sub", .tg4Map),
|
||||||
|
]
|
||||||
|
MacFillGrid(count: years.count, minWidth: 260, minHeight: 180) { i in
|
||||||
|
NavigationLink(value: years[i].2) {
|
||||||
|
MacLinkCard(title: vm.tr(years[i].0), subtitle: vm.tr(years[i].1), badge: "\(i + 1).")
|
||||||
|
}
|
||||||
|
.buttonStyle(PressScaleStyle())
|
||||||
|
}
|
||||||
|
.navigationTitle(vm.tr("Technická grafika"))
|
||||||
|
.navigationSubtitle(vm.tr("tg_years_sub"))
|
||||||
|
#else
|
||||||
|
List {
|
||||||
|
NavigationLink(value: Route.tgMap) {
|
||||||
|
ListRowLabel(title: vm.tr("tg_year1"), subtitle: vm.tr("tg_sub"))
|
||||||
|
}
|
||||||
|
NavigationLink(value: Route.tg2Map) {
|
||||||
|
ListRowLabel(title: vm.tr("tg_year2"), subtitle: vm.tr("tg2_sub"))
|
||||||
|
}
|
||||||
|
NavigationLink(value: Route.tg3Map) {
|
||||||
|
ListRowLabel(title: vm.tr("tg_year3"), subtitle: vm.tr("tg3_sub"))
|
||||||
|
}
|
||||||
|
NavigationLink(value: Route.tg4Map) {
|
||||||
|
ListRowLabel(title: vm.tr("tg_year4"), subtitle: vm.tr("tg4_sub"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.navigationTitle(vm.tr("Technická grafika"))
|
||||||
|
.navigationSubtitle(vm.tr("tg_years_sub"))
|
||||||
|
.appListStyle()
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct FyzYearsScreen: View {
|
struct FyzYearsScreen: View {
|
||||||
@ObservedObject var vm: AppModel
|
@ObservedObject var vm: AppModel
|
||||||
|
|
||||||
|
|
@ -2808,6 +2876,72 @@ struct RouteDestination: View {
|
||||||
}
|
}
|
||||||
case .fyz4Ex(let id):
|
case .fyz4Ex(let id):
|
||||||
FyzQuizScreen(vm: vm, year: 4, id: id)
|
FyzQuizScreen(vm: vm, year: 4, id: id)
|
||||||
|
case .tgYears:
|
||||||
|
TgYearsScreen(vm: vm)
|
||||||
|
case .tgMap:
|
||||||
|
LessonListScreen(
|
||||||
|
vm: vm,
|
||||||
|
title: vm.tr("tg_year1"),
|
||||||
|
subtitle: vm.tr("tg_sub"),
|
||||||
|
rows: vm.content.tg.map { l in
|
||||||
|
let id = l.int("id")
|
||||||
|
return LessonRow(id: "t\(id)", title: vm.tr(l.str("titleKey")), done: vm.progress.tgDone(id), destination: .tgLesson(id))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
case .tgLesson(let id):
|
||||||
|
if let l = vm.content.tgLesson(id) {
|
||||||
|
SlidesScreen(vm: vm, title: vm.tr(l.str("titleKey")), subtitle: vm.tr(l.str("subKey")), slides: l.arr("slides"), next: .tgEx(id))
|
||||||
|
}
|
||||||
|
case .tgEx(let id):
|
||||||
|
TgQuizScreen(vm: vm, year: 1, id: id)
|
||||||
|
case .tg2Map:
|
||||||
|
LessonListScreen(
|
||||||
|
vm: vm,
|
||||||
|
title: vm.tr("tg_year2"),
|
||||||
|
subtitle: vm.tr("tg2_sub"),
|
||||||
|
rows: vm.content.tg2.map { l in
|
||||||
|
let id = l.int("id")
|
||||||
|
return LessonRow(id: "t2\(id)", title: vm.tr(l.str("titleKey")), done: vm.progress.tg2Done(id), destination: .tg2Lesson(id))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
case .tg2Lesson(let id):
|
||||||
|
if let l = vm.content.tg2Lesson(id) {
|
||||||
|
SlidesScreen(vm: vm, title: vm.tr(l.str("titleKey")), subtitle: vm.tr(l.str("subKey")), slides: l.arr("slides"), next: .tg2Ex(id))
|
||||||
|
}
|
||||||
|
case .tg2Ex(let id):
|
||||||
|
TgQuizScreen(vm: vm, year: 2, id: id)
|
||||||
|
case .tg3Map:
|
||||||
|
LessonListScreen(
|
||||||
|
vm: vm,
|
||||||
|
title: vm.tr("tg_year3"),
|
||||||
|
subtitle: vm.tr("tg3_sub"),
|
||||||
|
rows: vm.content.tg3.map { l in
|
||||||
|
let id = l.int("id")
|
||||||
|
return LessonRow(id: "t3\(id)", title: vm.tr(l.str("titleKey")), done: vm.progress.tg3Done(id), destination: .tg3Lesson(id))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
case .tg3Lesson(let id):
|
||||||
|
if let l = vm.content.tg3Lesson(id) {
|
||||||
|
SlidesScreen(vm: vm, title: vm.tr(l.str("titleKey")), subtitle: vm.tr(l.str("subKey")), slides: l.arr("slides"), next: .tg3Ex(id))
|
||||||
|
}
|
||||||
|
case .tg3Ex(let id):
|
||||||
|
TgQuizScreen(vm: vm, year: 3, id: id)
|
||||||
|
case .tg4Map:
|
||||||
|
LessonListScreen(
|
||||||
|
vm: vm,
|
||||||
|
title: vm.tr("tg_year4"),
|
||||||
|
subtitle: vm.tr("tg4_sub"),
|
||||||
|
rows: vm.content.tg4.map { l in
|
||||||
|
let id = l.int("id")
|
||||||
|
return LessonRow(id: "t4\(id)", title: vm.tr(l.str("titleKey")), done: vm.progress.tg4Done(id), destination: .tg4Lesson(id))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
case .tg4Lesson(let id):
|
||||||
|
if let l = vm.content.tg4Lesson(id) {
|
||||||
|
SlidesScreen(vm: vm, title: vm.tr(l.str("titleKey")), subtitle: vm.tr(l.str("subKey")), slides: l.arr("slides"), next: .tg4Ex(id))
|
||||||
|
}
|
||||||
|
case .tg4Ex(let id):
|
||||||
|
TgQuizScreen(vm: vm, year: 4, id: id)
|
||||||
case .mluvnice:
|
case .mluvnice:
|
||||||
LessonListScreen(
|
LessonListScreen(
|
||||||
vm: vm,
|
vm: vm,
|
||||||
|
|
|
||||||
|
|
@ -1065,6 +1065,8 @@ STD = [
|
||||||
("prirodni-vedy/chemie", "chem"), ("prirodni-vedy/biologie", "bio"),
|
("prirodni-vedy/chemie", "chem"), ("prirodni-vedy/biologie", "bio"),
|
||||||
("fyzika/1-rocnik", "fyz"), ("fyzika/2-rocnik", "fyz2"),
|
("fyzika/1-rocnik", "fyz"), ("fyzika/2-rocnik", "fyz2"),
|
||||||
("fyzika/3-rocnik", "fyz3"), ("fyzika/4-rocnik", "fyz4"),
|
("fyzika/3-rocnik", "fyz3"), ("fyzika/4-rocnik", "fyz4"),
|
||||||
|
("technicka-grafika/1-rocnik", "tg"), ("technicka-grafika/2-rocnik", "tg2"),
|
||||||
|
("technicka-grafika/3-rocnik", "tg3"), ("technicka-grafika/4-rocnik", "tg4"),
|
||||||
]
|
]
|
||||||
MATH = [
|
MATH = [
|
||||||
("matematika/0-opakovani", "mat0"), ("matematika/1-rocnik", "mat"),
|
("matematika/0-opakovani", "mat0"), ("matematika/1-rocnik", "mat"),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue