Skip to main content

A Python package, with no dependencies, producing SVG images of Slide Rule scales

Project description

slideruleimages

Python package to produce Slide Rule SVG images

A typical example might be:

from slideruleimages import Rule

# xvalue is where the C scale index is placed over the D value
# right is True if the mid scale is moved to the right
# right is False if the mid scale is moved to the left
# hairline is where the hairline cursor is placed over the D value,
# or zero if no hairline is used 

rl = Rule(xvalue = 2.0, right = True, hairline=6.0,
          topruleheight = 0,                        # No top rule
          midruleheight = 120,                      # middle slider 120px high
          btmruleheight = 120)                      # bottom rule 120 px high

# Add a C scale
rl.addCscale(midrule=20)  # indicates this scale is put on the middle rule
                          # 20 pixels down from the top of the middle rule

# Add a D scale
rl.addDscale(btmrule=0)   # indicates this scale is put on the bottom rule
                          # 0 pixels down from the top of the bottom rule

filename = "twoxthree.svg"

rl.write(filename)

print(f'{filename} created')

This would produce:

example

This package is intended to produce images useful for documents or web sites which illustrate logarithms or Slide Rules. One such web site is available at:

https://bernie-skipole.github.io/sliderule/

The package has one class, Rule, which is illustrated above and has the methods:

write(filename) This saves the image file.

addAscale(btmrule=-1, midrule=-1, toprule=-1)

addBscale(btmrule=-1, midrule=-1, toprule=-1)

addCscale(btmrule=-1, midrule=-1, toprule=-1)

addCFscale(btmrule=-1, midrule=-1, toprule=-1)

addDscale(btmrule=-1, midrule=-1, toprule=-1)

addDFscale(btmrule=-1, midrule=-1, toprule=-1)

addLL0scale(btmrule=-1, midrule=-1, toprule=-1)

addLL1scale(btmrule=-1, midrule=-1, toprule=-1)

addLL2scale(btmrule=-1, midrule=-1, toprule=-1)

addLL3scale(btmrule=-1, midrule=-1, toprule=-1)

Only one of the arguments btmrule, midrule or toprule should be given a non -1 argument which indicates which rule the scale should appear on, and the integer number of pixels down from the top of that rule.

Note each scale is 100px high, so in the example a midruleheight of 120 with a midrule of 20, sets the C scale onto the midrule, with a 20px space at the top of the rule, and the actual scale sitting against the bottom of the rule.

The package is available on Pypi at:

https://pypi.org/project/slideruleimages/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slideruleimages-0.0.3.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slideruleimages-0.0.3-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file slideruleimages-0.0.3.tar.gz.

File metadata

  • Download URL: slideruleimages-0.0.3.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for slideruleimages-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4b14e77b2c85e4e4dc6c8101ee4cde5425a911679ccda424c84900dfed1d54be
MD5 4405470fff923109b046e00fec1ab88e
BLAKE2b-256 bda0e37b85af7af03f860e61d486f542576dc045b747ece3c7ab3ef47da5840a

See more details on using hashes here.

File details

Details for the file slideruleimages-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for slideruleimages-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d23d4195d24e2598aec288704083bc58d9424350fe80cb679c21e5201b946a12
MD5 bf350810758a42904168c81956d6be0d
BLAKE2b-256 07366c7c5133ef910fc95b02473fee49dd1d0300d73f4c2774b90dad1a386837

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page