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)

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)

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for slideruleimages-0.0.6.tar.gz
Algorithm Hash digest
SHA256 6027dff217d9d00a705947f453ee4531fe5cb20f5e3bbfe375cf69fd15e395b1
MD5 38988738039a19e20ec5e7956a5ee3ee
BLAKE2b-256 7d5c3a9a9de79eb90a41af24716b286a49284e8ef7746ee33effce15f2d995c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for slideruleimages-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2d2a91d048fcc5897be81d414bea54f0602a055298d1c22fc3bf7e2096a06831
MD5 c5587b442bc6d990d199c08db97ea748
BLAKE2b-256 2d5de9ec0bb25f67223cadb75fed420e537d6cd7e23a09ed30646ad63aaf7741

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