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

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

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 has arguments, and defaults:

xvalue:float = 1.0,

right:bool = True

hairline:float=0.0

topruleheight:int = 120

midruleheight:int = 200

btmruleheight:int = 120

col:str = "#f9fc69"

The col string is an SVG color, by default a pale yellow, this can be set to a string such as "white" if a black and white printable rule is required.

The Rule class has methods:

write(filename)

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)

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

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

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

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

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

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

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

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

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

addLL03scale(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)

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

The write method saves the image file.

When adding a scale, 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.

Scales are normally orientated with numeric characters above the scale, as shown on the C scale above, but if the value of zero is used, with the scale set to the top of a rule, then the characters are set below the scale, as shown on the D scale above.

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.7.tar.gz (11.9 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.7-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for slideruleimages-0.0.7.tar.gz
Algorithm Hash digest
SHA256 cf8e6357646ff3fae2c1e225eb8da2ccf0c8131f1b87ebb14aa245ef82e53647
MD5 373d42c4d957e3e7058ee872bcd0d377
BLAKE2b-256 f6b1e974a5d66c36e75dca952aa49aa83c2828f51a8cadd60b34232451735f58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for slideruleimages-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 32f519aa84276fb63cd1aa1638e4afede69a3002abc4e9bca3eb1fe80bcced68
MD5 8a987dc76bc100323fccffaa3f5a9486
BLAKE2b-256 6c5ce52ecac9196fbf12914158f2a3c6614d4f5012d535ced8a882b6d6cfb8ce

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