Re: [Therion-cs] Definovanie symbolov

2019-01-11 Tema obsahu Pavel Herich via Therion-cs

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

2017-05-30 Tema obsahu Pavel Herich via Therion-cs




Á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

2017-05-26 Tema obsahu Pavel Herich via Therion-cs

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

2017-03-14 Tema obsahu Pavel Herich via Therion-cs

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

2016-12-14 Tema obsahu Pavel Herich via Therion-cs

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