This Postscript code will produce an encoder disk sutable for a rotational motion sensor when used with a photodetector.
Areas in the code can be changed to modify the characteristics of the disk that is generated. Look for the comments starting with "%".
Also:
%!PS-Adobe-2.0 %%Title: Encoder Disk %%Creator: (C) Ricardo Seixas - rseixas@pobox.com %%CreationDate: May 12 2000 %%EndComments % You can freely distribute and use this file as long as you maintain the original copyright % This file is provided as is and there's NO WARRANTY % Use it at your own risk /mm {2.8346 mul} def /pi 3.1415926536 def % % %Here you can change the encoder characteristics /slots 45 def /external_diameter 50 mm def /internal_diameter external_diameter 10 mm sub def %/internal_diameter 45 mm def /text ( Ricardo Seixas 2000 - rseixas@pobox.com - Encoder Disc ) def % don't remove the parentheses when you change text!!! /text_diameter internal_diameter 2 mm sub def %/text_diameter 43 mm def /font_size external_diameter 20 div def %/font_size 6 def /font_type (Courier) def %/internal_circle 38 mm def /internal_circle internal_diameter font_size mm sub def % % % %Look at the end of the file for positioning /angle {360 slots div} def /trace_width {internal_diameter pi mul slots div 2 div} def /center_hole { %Cross -11 mm 0 moveto 22 mm 0 rlineto 0.2 setlinewidth stroke 0 -11 mm moveto 0 22 mm rlineto 0.2 setlinewidth stroke %Bulls Eye 6 mm 0 0 6 mm 2 div 0 360 arc .2 setlinewidth stroke %Bulls Eye 8 mm 0 0 8 mm 2 div 0 360 arc .2 setlinewidth stroke %Bulls Eye 10 mm 0 0 10 mm 2 div 0 360 arc .2 setlinewidth stroke %Bulls Eye 20 mm 0 0 20 mm 2 div 0 360 arc .2 setlinewidth stroke %Draw internal circle %Comment the two lines below if you don't want internal circle before font 0 0 internal_circle 2 div 0 360 arc .05 setlinewidth stroke %Draw internal_diameter circle %Comment the two lines below if you don't want internal circle after font 0 0 internal_diameter 2 div 0 360 arc .05 setlinewidth stroke %Draw External Circle %Comment the two lines below if you don't want external line 0 0 external_diameter 2 div 0 360 arc .05 mm setlinewidth stroke } def %Don't mess around here unless you know what you're doing /Draw_Disc { 0 0 moveto gsave angle 2 div rotate 0 angle 360 { gsave rotate internal_diameter 2 div 0 rmoveto external_diameter internal_diameter sub 2 div 0 rlineto trace_width setlinewidth stroke grestore } for grestore center_hole } def % Text routine borrowed from Adobe Blue Book Program 10, on page 167 /insidecircletext { circtextdict begin /radius exch def /centerangle exch def /ptsize exch def /str exch def /xradius radius ptsize 3 div sub def gsave centerangle str findhalfangle sub rotate str { /charcode exch def ( ) dup 0 charcode put insideplacechar } forall grestore end } def /circtextdict 16 dict def circtextdict begin /findhalfangle { stringwidth pop 2 div 2 xradius mul pi mul div 360 mul } def /insideplacechar { /char exch def /halfangle char findhalfangle def gsave halfangle rotate radius 0 translate 90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul rotate } def end /font_type findfont font_size scalefont setfont /Encoder_Text { text 18 -90 text_diameter 2 div insidecircletext } def /Draw_Encoder { Draw_Disc %Comment next line to remove text Encoder_Text } def %Here you can change where you want to put the disk on the sheet %TODO automagicaly fill a A4 or A3 sheet %automatic placement external_diameter 2 div 15 mm add external_diameter 2 div 15 mm add translate Draw_Encoder %manual placement, you can put more than one encoder on the same sheet %30 mm 30 mm translate Draw_Encoder %52 mm 0 mm translate Draw_Encoder showpage
Interested:
Comments:
file: /Techref/io/sensor/pos/enc/enc_ps.htm, 4KB, , updated: 2018/11/5 10:54, local time: 2024/11/25 09:58,
3.144.82.128:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://techref.massmind.org/Techref/io/sensor/pos/enc/enc_ps.htm"> Postscript Encoder Disk</A> |
Did you find what you needed? |
Welcome to massmind.org! |
Welcome to techref.massmind.org! |
.