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)

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

addTscale(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.8.tar.gz (12.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.8-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for slideruleimages-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f7b9ac23e63db878cebcb2b85b11e06b7f94e0f3b2e1f62b9a96e46fbf3f9bcf
MD5 403add5cfbfcb7ad9865960b5f8ed8dd
BLAKE2b-256 778af4dfb7304067f2969524ae58e8866be6bca4c01803d7104e522c13c0df67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for slideruleimages-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 166b1c3eacac1e84a8db3e8093d3a697e1115a91d6ffab0460f59946e2b06b88
MD5 7ce09b2456c8bfe3e6e07537415c1f4b
BLAKE2b-256 0ad36af280543b61c5ac048ccca450c755477825132bbdeff272a11e69364369

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