Re: [Therion-cs] Definovanie symbolov
Ahoj, v prílohe to máš, otvor v Notepade++ alebo Wordpade. Paľo Dňa 2019-01-10 23:11 Matej Ševčík via Therion-cs napísal(a): Ahojte Prosím vás nemá niekto definíciu pre symboly "area_debris_AUT", "area_blocks_AUT" a "area_pebbles_AUT", chcel by som ich modifikovať a viem nájsť len definíciu pre tieto symboly typu SKBB. Ďakujem M. Ševčík ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs % Austrian Symbol Set, author Georg Pacher % color (for Austrian symbol-set) color col_water_bg; col_water_bg :=(226/255,244/255,253/255); %%% %% areas % returns true if pair point lies within path q. % outside_point is any pair outside of path q (needed for reference). vardef pointinside(expr pt,q,outside_point)= T:=identity; path test; test:= outside_point--pt; %thdraw test; boolean isinside; isinside:=false; numintersections:=recgetnumintersections(test,q,0); if (numintersections <0): isinside:=true; elseif odd(numintersections): isinside:=true; else: isinside:=false; fi; isinside enddef; % get number of intersection between paths p (length 1!) and q % recnum is needed for limitation of recursions. % If the number of allowed recursions is reached, a negativ number of intersections is returned vardef recgetnumintersections(expr p,q,recnum)= pair inter; save preinter; save postinter; save numintersections; path preinter, postinter; inter:=p intersectiontimes q; %show recnum; if recnum >25: numintersections:=-100; else: if xpart(inter)>0 : %show (xpart inter); % split p into two paths and call yourself again preinter:=subpath (0,xpart(inter)-2eps) of p; postinter:=subpath (xpart(inter)+2eps,1) of p; numintersections:= recgetnumintersections(preinter,q,recnum+1) + recgetnumintersections(postinter,q,recnum+1) + 1; else: numintersections:=0; fi; fi; numintersections enddef; beginpattern(pattern_water_AUT); draw origin--10up withpen pensquare scaled (0.02u); patternxstep(.18u); patterntransform(identity rotated 90); endpattern; beginpattern(pattern_sump_AUT); draw origin--(0,.25u) withpen pensquare scaled (0.02u); draw origin--(.25u,0) withpen pensquare scaled (0.02u); endpattern; beginpattern(pattern_sand_AUT); pickup PenC; p:= origin -- (0.01u,0.01u); for i=0.0u step 0.2u until 2.4u: for j=0.0u step 0.2u until 2.4u: draw p rotated uniformdeviate(360) shifted ((i,j) randomized 0.09u); endfor; endfor; if BaseScale<=2.5: my_step:=2.4u; else: my_step:=2.6u; fi; patternstep(my_step,my_step); endpattern; beginpattern(pattern_pebbles_AUT); pickup PenC; path qq; for i=0.0u step 0.3u until 5.1u: for j=0.0u step 0.3u until 5.1u: qq := (superellipse((.1u,0),(0,.05u),(-.1u,0),(0,.-.05u),.75)) randomized (u/45) scaled (uniformdeviate(0.4)+.55) rotated uniformdeviate(360) shifted ((i,j) randomized 0.15u); draw qq; endfor; endfor; patternstep(5.1u,5.1u); endpattern; beginpattern(pattern_ice_AUT); pickup PenC; p:=(-.15u,.0u) -- (0.15u,.0u); draw p; draw p shifted (0.25u,.0u) rotated (90); draw p shifted (0.45u,0.25u); draw p shifted (0.0u,0.45u) rotated (90); patternxstep(.9u); patternystep(0.5u); endpattern; def a_water_AUT (expr Path) = T:=identity; thclean Path; pickup PenC; thfill Path withcolor col_water_bg; thfill Path withpattern pattern_water_AUT; thdraw Path; enddef; def a_sump_AUT (expr Path) = T:=identity; thclean Path; pickup PenC; thfill Path withcolor col_water_bg; thfill Path withpattern pattern_sump_AUT; thdraw Path; enddef; def a_sand_AUT (expr Path) = T:=identity; % thclean Path; thfill Path withpattern pattern_sand_AUT ; enddef; let a_clay_AUT = a_sand_AUT; def a_pebbles_AUT (expr p) = T:=identity; thfill p withpattern pattern_pebbles_AUT; enddef; def a_debris_AUT (expr p) = T:=identity; symbol_distance:=1.0; scale_factor:= 0.3; pickup PenC; path q, qq; q = bbox p; pair outside; outside:= ulcorner q + up; picture tmp_pic; uu := max(u, (xpart urcorner q - xpart llcorner q)/100, (ypart urcorner q - ypart llcorner q)/100); tmp_pic := image( for i = xpart llcorner q step symbol_distance*uu until xpart urcorner q: for j = ypart llcorner q step symbol_distance*uu until ypart urcorner q: qq := punked (((-.5uu,-.5uu)--(.5uu,-.5uu)--(1.05uu,0.01uu)--(.5uu,.5uu)--(-.5uu,.5uu)--cycle) randomized (uu/2)) scaled (uniformdeviate(0.4)+scale_factor ) rotated uniformdeviate(360) shifted ((i,j) randomized 0.5uu); if xpart (p intersectiontimes qq) < 0:
Re: [Therion-cs] Prevzdušnenie zeminy v Therione
Áno Martin pomohlo, ďakujem Paľo menil som čo som vedel, aj som to skúšal cez AUT, UIS príkazy, aj ten symbol-assign som mal vypnutý, ale nejak sa to nechcelo meniť, neviem kde je chyba, každopádne keď som to definoval ako "u" a zadal tam Martinové údaje tak to funguje fajn, takže asi to urobím takto. Každopádne ak môžem ešte. To by si musel prekompilovať Therion. Ale od toho sú uživateľské značky, aby sa nesiahalo do zdrojového kódu. ___ nemusíš nič prekompilovávať, toto si vlož do configu (všimni si "-layout ph" v druhom riadku (za tým môže byť aj ďalší s niečim iným: -layout xy)): source dedicny_brloh_th.th export map -output dedicny_brloh.pdf -layout ph layout ph code metapost def a_sand (expr p) = T:=identity; % thclean p; pickup PenC; path q; q = bbox p; picture tmp_pic; tmp_pic := image( for i = xpart llcorner q step 0.4u until xpart urcorner q: for j = ypart llcorner q step 0.4u until ypart urcorner q: draw origin shifted ((i,j) randomized 0.7u) withpen PenC; endfor; endfor; ); clip tmp_pic to p; drawoptions(); draw tmp_pic; enddef; endcode endlayout Neviem ako potom určiť farbu - keď si nakreslím "area u:bahno" tak neviem definovať farbu. Cez "symbol-color area u:bahno 50" to nejak nefunguje ani keď zadám [50 50 50]. Treba farbu definovať niekde v "beginpattern(pattern_bahno);", alebo "def a_u_bahno(expr Path) =" alebo ako? To by som musel skúmať je na to niečo ako „withcolor“ tu sme pri dlhodobom probléme, pre značky typu u:niečo nefungujú príkazy typu symbol-color, symbol-hide a podobne. Takže sa s nimi nedá moc dobre pracovať. Jediná možnosť zatiaľ, ako ich nezobraziť na kompilovanej mape je zadať "symbol-hide group all", čo vyhodí úplne všetko, a potom si po jednej značke všetko vyvolať späť cez symbol-show line wall, atď. Ale tiež sa nedá symbol-show line u:niečo, takže je to problematické. Je to ale len nedostatok kódu Therionu a teda zrejme nič, čo by sa v budúcnosti nedalo vyriešiť. Keď mám v xvi. súbore nejaké údaje a potrebujem ich pretočiť na druhú stranu (zrkadlovo) dá sa to? Pretože mám taký problém, kreslím mapu jaskyne nad ktorou je závrt, závrt mám po povrchu zameraný, zanesený do xvi. súboru, ale jeho vykreslenie prebehlo v therione na opačnú (ľavu) stranu ako som chcel (ja som chcel aby to vykreslilo vpravo) - viď priložený obrázok. Dá sa to bez toho aby som musel meniť základný azimut v údajoch? Na to je príkaz „extent“ v centerline, v tvojom prípade má byť na začiatku "extend left“ (štandartne je tam automaticky "extend right“, a pred tou zámerou, čo už má ísť doprava, tak „extend right“. Viď Thbook posledná kapitola. príklad dole - extend left, right (treba sa s tým len vyhrať, vždy prekompilovať xvi, ktoré automaticky aktualizuje v th2: date 2016.04.28 data normal from to compass clino tape extend right 0 1 244.22 -10.22 3.530 extend left 2 1 94.76 -40.25 1.390 Paľo ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs
Re: [Therion-cs] Prevzdušnenie zeminy v Therione
Ujček, asi toto si chcel?: def a_sand_UIS (expr p) = T:=identity; % thclean p; pickup PenC; path q; q = bbox p; picture tmp_pic; tmp_pic := image( for i = xpart llcorner q step 1u until xpart urcorner q: for j = ypart llcorner q step 1u until ypart urcorner q: draw origin shifted ((i,j) randomized 0.7u) withpen PenC; endfor; endfor; ); clip tmp_pic to p; drawoptions(); draw tmp_pic; enddef; Akurát ten prvý riadok si daj pozor, teda "sand_UIS" sa nezobrazí, pokiaľ bude zadaný symbol-assign ... (ak používaš ten môj thcnfig). Riadok prepíš na "def a_clay (expr p) =", pohraj sa s tými číslami v definícii ( 1u ) a nájdeš si svoje prevzdušnenie. Potom to vlož do layoutu a pôjde to. Paľo Dňa 2017-05-26 10:07 Martin Sluka via Therion-cs napísal(a): Tu je vysvetlenie zo súboru uAUT.mp: let a_clay_AUT = a_sand_AUT; Takže ten zdrojový kód je identický ako a_sand_AUT Kľudne skopíruj ten a_sand_AUT do layoutu, premenuj ho na a_u_moj_clay_AUT, uprav a použi v mape. Nerob to v zdrojákoch, nebolo by to korektné. m. 26. 5. 2017 v 9:50, Matej Ševčík via Therion-cs: Ahojte Prosím vás nemá niekto kód metapostu pre "area clay" v AUT znakoch Potreboval by som zväčšiť priestory medzi jednotlivými bodmi "!prevzdušniť" tú zeminu a neviem nájsť pre tú značku kód. Ďakujem M. ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs
Re: [Therion-cs] Export PDF
Martin, aspoň keby si láskavo nezabúdal, čo sám píšeš: "Vyrastruj si to ve Photoshopu na 600 dpi do CMYK s plnou černou." A ako som napísal, takto to robím ja, neviem, čo to má s tebou spoločné. 600 dpi používam preto, aby som nevidel štvorčeky, keď mapu vytlačím na väčší formát, ako som pôvodne plánoval. Pretože mapu Demänovej často režem i na malé diely, je dobré to mať v kvalite vyššej. Paľo Dňa 2017-03-14 10:26 Martin Sluka via Therion-cs napísal(a): 14. 3. 2017 v 9:11, Pavel Herich via Therion-cs <therion-cs@speleo.sk>: preto používam Photoshop, raster na 600dpi nemáš šancu nijak uvidieť. Paľo, to, čo napíšem, láskavo nerozporuj, DTP robím asi trošku dlhšie ako ty. Keď má byť výstup na Epsonke, tak stačí 360 dpi, keď na HP alebo Canon, tak 300 dpi, keď na tlačiarenské techniky, tak 400 dpi. Hlavne pri rastrovaní nezapínať vyhladenie! Samozrejme, keď ide o malé výsledné mapy tak si kľudne dovolím dvojnásobok. Ale pri 1:1000 Demänovskýého systému je to zbytočné. To dáva podstatne menšie súbory s tým, že rozdiel je poznateľný možno silnou lupou. Pri zmenšovaní mapy stačí aj 180/150/200 dpi s tým, že výsledné rozlíšenie sa prepočíta na 360/300/400. Tie hodnoty vychádzajú z vlastného rozlíšenia tlačových technológií. m. ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs
Re: [Therion-cs] Úprava hlavičky mapy
Ujček, toto si daj do layout (v druhom riadku si napíš čo tam chceš mať): code tex-map \newtoks\cavedepthtitle \cavedepthtitle={Denivelácia} \legendcontent={% \hsize=\legendwidth \ifnortharrow\vbox to 0pt{\line{\hfil\northarrow}\vss}\fi \edef\tmp{\the\cavename} \ifx\tmp\empty \else {\size[20]\the\cavename} \vskip1cm \fi \ifscalebar\scalebar\vskip1cm\fi {\rightskip=0pt plus 3em\parskip=3bp \edef\tmp{\the\comment} \ifx\tmp\empty \else {\size[12]\the\comment} \par\medskip \fi \everypar{\hangindent=2em\hangafter=1} \edef\tmp{\the\cavelength} \ifx\tmp\empty \else {\size[12]\si\the\cavelengthtitle: \ss\the\cavelength\par} \fi \edef\tmp{\the\cavedepth} \ifx\tmp\empty \else {\size[12]\si\the\cavedepthtitle: \ss\the\cavedepth\par} \fi \edef\tmp{\the\exploteam} \ifx\tmp\empty \else {\size[12]\si\the\explotitle: \ss\the\exploteam\quad\si\the\explodate\par} \fi \edef\tmp{\the\topoteam} \ifx\tmp\empty \else {\size[12]\si\the\topotitle: \ss\the\topoteam\quad\si\the\topodate\par} \fi \edef\tmp{\the\cartoteam} \ifx\tmp\empty \else {\size[12]\si\the\cartotitle: \ss\the\cartoteam\quad\si\the\cartodate\par} \fi \edef\tmp{\the\copyrights} \ifx\tmp\empty \else {\size[12]\ss\the\copyrights\par} \fi } \formattedlegend } endcode Paľo p.s. je tu potom ešte taká špecialita od Bruce Mutton: \newtoks\depthrangetitle \depthrangetitle={Nadm. výška: } # % start bruces addition # % altitude \edef\tmp{\the\caveminz} \ifx\tmp\empty \else {\the\legendtextsize\si\the\depthrangetitle \ss\the\caveminz m až} \fi \edef\tmp{\the\cavemaxz} \ifx\tmp\empty \else {\the\legendtextsize\ss\the\cavemaxz m \par} %above mean sea level \fi # % end bruces addition ___ Therion-cs mailing list Therion-cs@speleo.sk https://mailman.speleo.sk/listinfo/therion-cs