<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>I have been using some of Georg Pacher’s very clever
(I think) AUT symbols in their standard form, allocated from within a layout
with …<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  symbol-assign area debris AUT   <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  symbol-assign line wall:debris AUT  <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  symbol-assign point debris AUT  <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>etc<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>All has been going quite well for sometime, but
tonight Therion 5.3.8 gets into an endless loop, repeating the following text…<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>l_wall_debris->...factor:=scale_factor-0.01;endfor<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>                                                 
;thdraw.block.rotated.angl.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>l.6513 ))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>       
 ;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>! Value is too large (-4104.55951).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'><forever>
...k)<0;scale_factor:=scale_factor-0.01;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>                                                  
ENDFOR</span></font><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>I tend to use a scale of 1:1000, but this time I was
using 1:5000, so I’m guessing that has overloaded one of the functions in
the final loop below.  Not sure which variable or function is causing the
crash but the value is always the same for any particular scale at each loop
cycle.  <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>At these scales the length of each line is often
going to be much less than the size of the symbol so I expect we need a more
cunning exitif criteria.  I have made a stab at fixing it below (the
exitif in grey), but it is probably not the best solution.  It works now however
at 1:1000, 1:5000 and 1:10,000.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>Someone who knows what they are doing might be able
to propose a better fix and Martin/Stacho could include it in the next
snapshot.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>I am perplexed by two other somewhat unrelated things. 
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>The debris symbols as they turn out in the output are
all filled except the first or last one (not sure which) and yet I cannot find
a fill command in the code.  Having one not filled gives nice quirky
random effect, but they are perhaps better filled?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>Line blocks AUT works perfectly, and yet the code
seems to have the same general type of loop and test as the line debris AUT
that gives this problem.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>Cheers, Bruce<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>def l_wall_debris_AUT (expr P) = <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  T:=identity;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  pickup PenC;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  laenge := arclength P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  path block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  path old_block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  cur := 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  t:= arctime cur of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  % draw first block<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  old_block :=
(((-.0u,-.0u)--(.25u,-.15u)--(.45u,0.01u)--(.2u,.25u)--(.05u,.15u)--cycle));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  block_width := (xpart urcorner old_block -
xpart ulcorner old_block);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  old_block:=old_block rotated angle(thdir(P,0))
shifted point t of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  thclean old_block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  thdraw old_block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>   <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  cur := cur + 0.9*block_width;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>  t:= arctime cur of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>            %
proceed with path<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>    forever:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>             
% generate random block<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        block :=
punked
(((-.25u,-.25u)--(0.25.u,-.25u)--(0.50u,0.01u)--(0.25u,.25u)--(-.25u,.25u)--cycle)
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>         
randomized (u/4))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>         
scaled (uniformdeviate(0.3)+.4)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>         
rotated uniformdeviate(360);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>             
% check width of block<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>       
block_width := (xpart urcorner block - xpart ulcorner block);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        exitif cur
> (laenge- 2.5*block_width/2);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        % find
next position where the block fits in without intersecting the previous one<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>             
forever:           <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>               
exitif xpart ( (block rotated angle(-direction t of P) shifted point t of P)
intersectiontimes old_block) < 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>           
cur:=cur+0.01u;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>           
t:= arctime cur of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>           
exitif cur > (laenge- 2.5*block_width/2);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>         
endfor;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        exitif cur
> (laenge- 2.5*block_width/2);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>       
old_block:= block rotated angle(-direction t of P) shifted point t of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        thclean
old_block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        thdraw
old_block;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        cur := cur
+ block_width/2;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>        t:=
arctime cur of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>    endfor;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>            t:=
arctime laenge-eps of P;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>            %
generate last block<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>      block :=
(((-.0u,-.0u)--(.25u,-.15u)--(.45u,0.01u)--(.2u,.25u)--(.1u,.15u)--cycle));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>     block_width := (xpart
urcorner block - xpart ulcorner block);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>     <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>            %
scale last block to fit in the remaining gap<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>    
scale_factor:=1.5*(laenge-cur)/block_width;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>     <span style='background:
yellow'>forever:<o:p></o:p></span></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>          
<span style='background:silver'>exitif scale_factor < 0;  % bruces stab
at preventing endless loop at large scales<o:p></o:p></span></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>          
exitif xpart ( (block rotated angle(-direction t of P) scaled scale_factor
shifted (point t of P)) intersectiontimes old_block) < 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>          
scale_factor:=scale_factor-0.01;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'>     endfor;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial;background:yellow'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>     thdraw block rotated
angle(-direction t of P) scaled scale_factor shifted (point t of P);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'>enddef;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-NZ style='font-size:
10.0pt;font-family:Arial'><img width=492 height=133 id="_x0000_i1025"
src="cid:image001.jpg@01CC38FD.76D147D0"><o:p></o:p></span></font></p>

</div>

</body>

</html>