Hi Axel,Yes. Therion's bug is annoying. I have a workaround. It's a hack, but it works.I have a custom u point that has to appear in the object list just below the map connection point. The code reads the attributes from the custom point and stores them in a global variable. The map-connection code uses that variable if it cannot find attributes on the map connection point itself.My arrows have multiple colours. I will share the CC0 code later once I am back in front of my computer.Hack hack hack...Tarquin -------- Original message --------From: Axel <dropstone@gmx.de> Date: 10/09/2022 06:45 (GMT+00:00) To: therion@speleo.sk Subject: [Therion] Custom map connections Bonjour all, some months ago Tarquin opened a request on Github to pass point_mapconnection attributes to the actual l_mapconnection (#434). I wonder if something happened there? As caves don't know how to behave, I have one at the minute that has -just- 5 passages above/underneath each other. Different styled map-connections would make it so much easier to understand the plan and follow the route in the cave (eg make the main ones thicker, change color for overlying/underlying passages). has anyone found a way around it? cheers, Axel from the mailing-list: ------- Tarquin Wilton-Jones via Therion Thu, 07 Jul 2022 10:04:09 -0700 Hi folks, I have a challenge, presented to me by some users of one of our surveys. We have a cave with layers horribly stacked above each other (10 passages all crossing the same point!). Simple solution; use map offsets to put them all side by side. Use map connection arrows to show what connects to what. That's all good, but they find the default connection arrow hard to see. I can redefine l_mapconnection to create my own arrows. Great! But here's the challenge; they want us to show the difference between an unimportant connection, and a major "follow this route" connection. Eg. minor ones in grey, major route in red. I have tried everything I can think of with the mapconnection point: id, scale, rotation, -attr etc., but Therion is not creating a p_mapconnection. it creates a l_mapconnection, and passes it a path to create the line. The attributes are all completely ignored. Normally, I would use "-attr type major", but that cannot work here, because Therion just ignores it. In my opinion, this is a limitation that should be fixed. The only solution I can think of, is to put *two* mapconnection points. The l_mapconnection code can then see if the current path matches the previous path, and if so, draw it in red. But this is such a horrible hack, and prone to failure in future if someone does not realise why there are two points, and why they have to follow on from each other. Can anyone think of a better workaround? Cheers, Tarquin _______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
My arrows have multiple colours. I will share the CC0 code later once I am back in front of my computer.
Attached. (Hope the list lets it through.) To use it, you need to set this: symbol-assign line map-connection MY Yes, that is the *line* not the point, because Therion turns each point into a line if it is using offsets on its map. Hopefully the comment at the start of the code is enough for you to use it. But basically, it goes something like this. If Therion's bug ever gets fixed, you can just create: point mapconnection -attr theme 1 ... endpoint But until Therion's bug is fixed, you can use my hack: point mapconnection ... endpoint point u:mapconnectiondata -attr theme 1 endpoint Therion gets it right with line mapconnection, so if you are using those (eg. in an extended elevation as shown in the Therion book), you can just set the -attr directly on the line mapconnection. Each u:mapconnectiondata will only have its theme attribute used once. So in this case, the first mapconnection point will use theme "default", and the second one will use theme "1" (because Therion draws things in reverse order). point mapconnection ... endpoint point mapconnection ... endpoint point u:mapconnectiondata -attr theme 1 endpoint Note that Therion draws "-clip off" objects out of sequence from the rest of the objects, so if you set that property on a mapconnection point, you would also need to set it on the u:mapconnectiondata. Hopefully this is useful for your purposes. Tarquin
participants (2)
-
Axel -
Tarquin Wilton-Jones