[Therion] Colored Lines Based On Attributes

alastair gott alastairgott at hotmail.com
Sun Mar 1 17:14:33 CET 2026


HI Everyone,

I have tried again but now at full cave level it doesn't work, it does however work at small scales such as individual th2/thconfig. So the scaling up to full cave survey is causing the issue, probably as well as some of the code. Can anyone assist.

The below code for thconfig currently is:

layout local
code metapost
def l_u_wall (expr P)=
T:=identity;
        if known(ATTR_color):
            pickup PenA;
            draw P withpen PenA withcolor scantokens(ATTR_color);
      fi;   
enddef;

 initsymbol("l_u_wall");
endcode
endlayout
####

I have been pointed to chapter 27 of this link by the config window, I will need to do some looking into this. Tex.org.uk/systems/knuth/dist/mf/mfbook.tex<https://tex.org.uk/systems/knuth/dist/mf/mfbook.tex>

##error message##
>> ___________pickup
! Isolated expression.
<to be read again>
                   pencircle
PenA->pencircle
               .scaled(u/10)
l_u_wall->...wn(ATTR_color):___________pickup.PenA
                                                  ;____________draw(EXPR0)wi...
l.10992 ))
          ;
I couldn't find an `=' or `:=' after the
expression that is shown above this error message,
so I guess I'll just ignore it and carry on.

! Extra tokens will be flushed.
<to be read again>
                   pencircle
PenA->pencircle
               .scaled(u/10)
l_u_wall->...wn(ATTR_color):___________pickup.PenA
                                                  ;____________draw(EXPR0)wi...
l.10992 ))
          ;
I've just read as much of that statement as I could fathom,
so a semicolon should have been next. It's very puzzling...
but I'll try to get myself back together, by ignoring
everything up to the next `;'. Please insert a semicolon
now in front of anything that you don't want me to delete.
(See Chapter 27 of The METAFONTbook for an example.)

>> ____________draw
! Isolated expression.
<to be read again>
                   (path)
l_u_wall->...__pickup.PenA;____________draw(EXPR0)
                                                  withpen.PenA.withcolor.sca...
l.10992 ))
          ;
I couldn't find an `=' or `:=' after the
expression that is shown above this error message,
so I guess I'll just ignore it and carry on.

! Extra tokens will be flushed.
<to be read again>
                   (path)
l_u_wall->...__pickup.PenA;____________draw(EXPR0)
                                                  withpen.PenA.withcolor.sca...
l.10992 ))
          ;
I've just read as much of that statement as I could fathom,
so a semicolon should have been next. It's very puzzling...
but I'll try to get myself back together, by ignoring
everything up to the next `;'. Please insert a semicolon
now in front of anything that you don't want me to delete.
(See Chapter 27 of The METAFONTbook for an example.)

>> _____fi
! Isolated expression.
<to be read again>
                   ;
l.10992 ))
          ;
I couldn't find an `=' or `:=' after the
expression that is shown above this error message,
so I guess I'll just ignore it and carry on.

[31] [32] (./mptextmp.mp) [33] )
(end occurred when if on line 10992 was incomplete)



Regards,
Alastair Gott.

AlastairGott at hotmail.com,
M: 07931779380.
________________________________
From: Therion <therion-bounces at speleo.sk> on behalf of alastair gott <alastairgott at hotmail.com>
Sent: 01 March 2026 13:26
To: Therion Mailing List <therion at speleo.sk>
Subject: [Therion] Colored Lines Based On Attributes

HI Everyone,

Follow up on this thread from 17 years ago. https://mailman.speleo.sk/pipermail/therion/2009-September/002633.html

We have tweaked the code, with Andrews help. To make it work

In th2/Lines:
Type u:wall
Options: -clip off -attr color "(0, 0.5, 0)"
Or
-clip off -attr color green

In thconfig:
layout local
code metapost
def l_u_wall (expr P)=
T:=identity;
        if known(ATTR_color):
            pickup PenA;
            draw P withpen PenA withcolor scantokens(ATTR_color);
      fi;   
Enddef;

 initsymbol("l_u_wall");
endcode

endlayout

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20260301/ae9bfec3/attachment-0001.htm>


More information about the Therion mailing list