Received: from mm2.emwd.com (localhost [127.0.0.1])
	by mm2.emwd.com (Postfix) with ESMTP id B33083842BF
	for <michael@marx.id.au>; Thu, 23 Sep 2021 00:04:37 -0400 (EDT)
Received: from mm2.emwd.com ([172.104.30.75])	by
 cloud.hosting.domainsatcost.ca with esmtps  (TLS1.2) tls
 TLS_DH_anon_WITH_AES_256_GCM_SHA384	(Exim 4.94)	(envelope-from
 <discuss-bounces+michael=marx.id.au@lists.openscad.org>)	id 1mTFyQ-0002tj-4M
	for michael@marx.id.au; Thu, 23 Sep 2021 04:04:38 +0000
Received: from cloud.hosting.domainsatcost.ca ([127.0.0.1])	by localhost
 (hostingsmtp-a.backboneservers.com [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 9nFKDaLRyEVB for <michael@marx.id.au>;	Thu, 23 Sep 2021
 04:04:38 +0000 (UTC)
Received: from MeB3 ([144.48.167.97])        by smtp.gmail.com with ESMTPSA id
 b142sm3937951pfb.17.2021.09.22.21.04.11        for
 <discuss@lists.openscad.org>        (version=TLS1
 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128);        Wed, 22 Sep 2021 21:04:13
 -0700 (PDT)
Received: by mail-pg1-f170.google.com with SMTP id h3so4994625pgb.7        for
 <discuss@lists.openscad.org>; Wed, 22 Sep 2021 21:04:15 -0700 (PDT)
Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com
 [209.85.215.170])	by mm2.emwd.com (Postfix) with ESMTPS id 99F2E38417B	for
 <discuss@lists.openscad.org>; Thu, 23 Sep 2021 00:04:15 -0400 (EDT)
Received: from exim by cloud.hosting.domainsatcost.ca with spam-scanned (Exim
 4.94)	(envelope-from <discuss-bounces+michael=marx.id.au@lists.openscad.org>)
	id 1mTFyQ-0002tu-BC	for michael@marx.id.au; Thu, 23 Sep 2021 04:04:47 +0000
Received: from localhost ([127.0.0.1])
	by cloud.hosting.domainsatcost.ca with esmtp (Exim 4.94)
	(envelope-from <discuss-bounces+michael=marx.id.au@lists.openscad.org>)
	id 1mTFyQ-0002tp-AE
	for michael@marx.id.au; Thu, 23 Sep 2021 04:04:38 +0000
Return-Path: <discuss-bounces+michael=marx.id.au@lists.openscad.org>
Reply-To: "OpenSCAD general discussion" <discuss@lists.openscad.org>
From: "MichaelAtOz" <oz.at.michael@gmail.com>
To: "'OpenSCAD general discussion'" <discuss@lists.openscad.org>
References:
 <CAH0WD3ph--5Baf863yBuhJLFm7E3nU63Vw_pxxyR7W6YGCLMFQ@mail.gmail.com>
 <CAEEmnrMf34c8JdnWBEOv=czjhX5NeBx2nmuE1t6mY8svvfAJ5Q@mail.gmail.com>
 <ad45bc72-a8fe-ff3e-b96d-24d9e5e5725c@raywest.com>
 <163226483902.11270.2995658872419245841@mm2.emwd.com>
 <6dc37f88-1840-10db-af4a-7f9809576338@puggsy.net>
 <8F50CE5DEEE34B8698D9CB0090663144@MeB3>
In-Reply-To: <8F50CE5DEEE34B8698D9CB0090663144@MeB3>
Subject: [OpenSCAD] Re: text output
Date: Thu, 23 Sep 2021 14:04:01 +1000
Message-ID: <9FC52A3E615549349BDA463D24A40A38@MeB3>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_118E_01D7B380.DF7EE4A0"
X-Mailer: Microsoft Office Outlook 11
X-Antivirus: AVG (VPS 210922-8, 23/09/2021), Outbound message
X-Mailman-Version: 3.3.3
List-Help: <mailto:discuss-request@lists.openscad.org?subject=help>
List-Subscribe: <mailto:discuss-join@lists.openscad.org>
List-Unsubscribe: <mailto:discuss-leave@lists.openscad.org>
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.24158
Thread-Index: AdevPC2u0TbkWmoKRryoDwwoncGfigA4XOcgAASTkSA=

This is a multi-part message in MIME format.

------=_NextPart_000_118E_01D7B380.DF7EE4A0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_118F_01D7B380.DF7F0BB0"


------=_NextPart_001_118F_01D7B380.DF7F0BB0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Forgot the output:

 

Compiling design (CSG Tree generation)...

ECHO: "1-no-line-break2

3

"

ECHO: "_________________"

ECHO: [1, 2, 3]

ECHO: "_________________"

ECHO: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Compiling design (CSG Products generation)...

 

 

  _____  

From: Michael Marx [mailto:michael@marx.id.au] 
Sent: Thu, 23 Sep 2021 13:58
To: 'OpenSCAD general discussion'
Subject: [OpenSCAD] Re: text output

 

> but if OpenSCAD could read files

 

With some little helper bits (top & tail of a file) you can read any file via include<>.

e.g.

// read_file_main.scad

include <read_file_input.txt>

echo(read_file);

echo("_________________");

include <read_file_vec.txt>

echo(read_file_vec);

echo("_________________");

include <read_file_3vecs.txt>

echo(read_file_3vecs);

 

<read_file_input.txt>

// freeform text needs to be careful with '"' (make them \") and use '\n' for line breaks

// need an assignment first part, followed by data

read_file="

1-no-line-break            

2\n

3\n

"; // then terminate the assignment

 

<read_file_vec.txt>

read_file_vec= [

1,

2,

3,

];

 

<read_file_3vecs.txt>

read_file_3vecs=[

[1,2,3],

[4,5,6],

[7,8,9]

];

 

I haven't bothered yet, but a tiny script could top/tail any file readily.

The freeform text input is a little more work with the '"' & '\n' newlines. 

But in Notepad++ I can replace all '\n\r' with '\\n\n\r' and '"' with '\\"'.

 

 

 

> -----Original Message-----

> From: Daniel [mailto:daniel@puggsy.net]

> Sent: Wed, 22 Sep 2021 08:58

> To: William F. Adams via Discuss

> Subject: [OpenSCAD] Re: text output

> 

> It would be a fierce useful feature. I have a Python script that reads

> .kicad_pcb files to find where the mount holes are. Works fine but if

> OpenSCAD could read files I could possibly get rid of the python script.

> 

> On 21/09/2021 23:53, William F. Adams via Discuss wrote:

> > _______________________________________________

> > OpenSCAD mailing list

> > To unsubscribe send an email to discuss-leave@lists.openscad.org

> _______________________________________________

> OpenSCAD mailing list

> To unsubscribe send an email to discuss-leave@lists.openscad.org

 


 
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_con
tent=emailclient> 

Virus-free.
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_con
tent=emailclient> www.avg.com 




------=_NextPart_001_118F_01D7B380.DF7F0BB0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

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

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">


<meta name=3DGenerator content=3D"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>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* 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;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Courier New";}
p
	{mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman";}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:72.0pt 0cm 72.0pt 0cm;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-AU link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
11.0pt;font-family:Arial;color:navy'>Forgot the =
output:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
11.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt'><font size=3D3 face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt'>Compiling design (CSG Tree =
generation)...<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>ECHO:
&quot;1-no-line-break2<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span =
style=3D'font-size:12.0pt'>3<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span =
style=3D'font-size:12.0pt'>&quot;<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>ECHO:
&quot;_________________&quot;<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>ECHO: [1, 2, =
3]<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>ECHO:
&quot;_________________&quot;<o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin=
-left:
36.0pt;margin-bottom:.0001pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>ECHO: [[1, 2, =
3], [4, 5,
6], [7, 8, 9]]<o:p></o:p></span></font></p>

<p class=3DMsoNormal =
style=3D'margin-left:36.0pt;-qt-block-indent:0'><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>Compiling =
design (CSG
Products generation)...</span></font><font size=3D2 color=3Dnavy =
face=3DArial><span
style=3D'font-size:11.0pt;font-family:Arial;color:navy'><o:p></o:p></span=
></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
11.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
11.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm =
0cm 4.0pt'>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span lang=3DEN-US style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</spa=
n></font></b><font
size=3D2 face=3DTahoma><span lang=3DEN-US =
style=3D'font-size:10.0pt;font-family:Tahoma'>
Michael Marx [mailto:michael@marx.id.au] <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thu, 23 Sep 2021 =
13:58<br>
<b><span style=3D'font-weight:bold'>To:</span></b> 'OpenSCAD general =
discussion'<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> [OpenSCAD] Re: =
text
output</span></font><span lang=3DEN-US><o:p></o:p></span></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; but if OpenSCAD could read =
files<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>With some little helper bits (top &amp; tail of a file) you can =
read
any file via include&lt;&gt;.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>e.g.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>// =
read_file_main.scad<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>include =
&lt;read_file_input.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>echo(read_file);<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>echo(&quot;_________________&quot;);<o:p></o:p=
></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>include =
&lt;read_file_vec.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>echo(read_file_vec);<o:p></o:p></span></font><=
/p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>echo(&quot;_________________&quot;);<o:p></o:p=
></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>include =
&lt;read_file_3vecs.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>echo(read_file_3vecs);<o:p></o:p></span></font=
></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&lt;read_file_input.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>// freeform text needs to be careful with =
'&quot;'
(make them \&quot;) and use '\n' for line =
breaks<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>// need an assignment first part, followed by =
data<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>read_file=3D&quot;<o:p></o:p></span></font></p=
>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>1-no-line-break&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>2\n<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>3\n<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>&quot;; // then terminate the =
assignment<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&lt;read_file_vec.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>read_file_vec=3D =
[<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>1,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>2,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>3,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>];<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&lt;read_file_3vecs.txt&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>read_file_3vecs=3D[<o:p></o:p></span></font></=
p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>[1,2,3],<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>[4,5,6],<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>[7,8,9]<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'margin-left:36.0pt'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:11.0pt'>];<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>I haven't bothered yet, but a tiny script could top/tail any =
file
readily.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>The freeform text input is a little more work with the '&quot;' =
&amp;
'\n' newlines. <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>But in Notepad++ I can replace all '\n\r' with '\\n\n\r' and =
'&quot;'
with '\\&quot;'.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; </span></font><span lang=3DEN-US>-----Original =
Message-----</span><o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; </span></font><span lang=3DEN-US>From: Daniel
[mailto:daniel@puggsy.net]</span><o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; </span></font><span lang=3DEN-US>Sent: Wed, 22 Sep 2021 =
08:58</span><o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; </span></font><span lang=3DEN-US>To: William F. Adams via =
Discuss</span><o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; </span></font><span lang=3DEN-US>Subject: [OpenSCAD] Re: =
text output</span><o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; It would be a fierce useful feature. I have a Python script =
that
reads<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; .kicad_pcb files to find where the mount holes are. Works =
fine but
if<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; OpenSCAD could read files I could possibly get rid of the =
python
script.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; On 21/09/2021 23:53, William F. Adams via Discuss =
wrote:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; &gt; =
_______________________________________________<o:p></o:p></span></font><=
/p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; &gt; OpenSCAD mailing list<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; &gt; To unsubscribe send an email to
discuss-leave@lists.openscad.org<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; =
_______________________________________________<o:p></o:p></span></font><=
/p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; OpenSCAD mailing list<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
11.0pt'>&gt; To unsubscribe send an email to =
discuss-leave@lists.openscad.org<o:p></o:p></span></font></p>

<div id=3DDAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<table class=3DMsoNormalTable border=3D1 cellpadding=3D0 =
style=3D'border:none;
 border-top:solid #D3D4DE 1.0pt'>
 <tr>
  <td width=3D55 style=3D'width:41.25pt;border:none;padding:9.75pt .75pt =
.75pt .75pt'>
  <p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span
  style=3D'font-size:12.0pt'><a
  =
href=3D"http://www.avg.com/email-signature?utm_medium=3Demail&amp;utm_sou=
rce=3Dlink&amp;utm_campaign=3Dsig-email&amp;utm_content=3Demailclient"
  target=3D"_blank"><span style=3D'text-decoration:none'><img border=3D0 =
width=3D46
  height=3D29 id=3D"_x0000_i1025"
  =
src=3D"https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg=
-v1.png"></span></a><o:p></o:p></span></font></p>
  </td>
  <td width=3D470 style=3D'width:352.5pt;border:none;padding:9.0pt .75pt =
.75pt .75pt'>
  <p class=3DMsoNormal style=3D'line-height:13.5pt'><font size=3D2 =
color=3D"#41424e"
  face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;color:#41424E'>Virus-free.
  <a
  =
href=3D"http://www.avg.com/email-signature?utm_medium=3Demail&amp;utm_sou=
rce=3Dlink&amp;utm_campaign=3Dsig-email&amp;utm_content=3Demailclient"
  target=3D"_blank"><font color=3D"#4453ea"><span =
style=3D'color:#4453EA'>www.avg.com</span></font></a>
  <o:p></o:p></span></font></p>
  </td>
 </tr>
</table>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><a href=3D"#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width=3D1 =
height=3D1></a><o:p></o:p></span></font></p>

</div>

</div>

</div>

</body>

</html>

------=_NextPart_001_118F_01D7B380.DF7F0BB0--

------=_NextPart_000_118E_01D7B380.DF7EE4A0
Content-Type: text/plain;
	name="ATT03545.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ATT03545.txt"

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

------=_NextPart_000_118E_01D7B380.DF7EE4A0--
