Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

AstroShed — Minimum Size Estimator

A desktop application that computes the minimum dimensions of an observatory shed (or roll-off roof enclosure) needed to house a German Equatorial Mount (GEM) telescope, given your site latitude, mount geometry, telescope dimensions, and local horizon profile.

AstroShed screenshot


How it works

The tool sweeps all valid hour angle / declination combinations and, for each position, samples points around the tube surface to build a 3D point cloud of the telescope's swept volume. From this cloud it derives:

  • Footprint (E-W width, N-S depth) — the bounding box of the swept volume plus a safety margin.
  • Wall height — for each valid pose, the tube is extended to 20 m along its optical axis and intersected with each wall plane. The lowest point of each resulting elliptical intersection is recorded. The required wall height is the minimum across all poses — the lowest point through which the line of sight must still clear the wall.

Poses are excluded if:

  • The telescope is below the horizon profile at that azimuth.
  • The counterweight shaft has rotated past the configured CW-up limit (meridian flip forbidden zone).

Features

  • Interactive 3D view — live PyVista/VTK rendering of the mount, swept volume point cloud, and shed wireframe with dimension labels and pier-to-wall arrows.
  • Interactive horizon editor — click and drag the horizon chart to sculpt your local horizon profile, or load/save a horizon file.
  • Per-wall offsets — move each wall independently to model real building constraints and instantly see the updated height requirement.
  • Live pose preview — drag the hour angle / declination sliders to see the mount move in 3D, with real-time altitude, azimuth, horizon, and CW-up status.
  • Configuration save/load — all parameters saved as a human-readable JSON file.
  • Built-in user manual — accessible via Help → User manual.

Installation

pip install pyvistaqt PyQt5 pyvista numpy matplotlib

Python 3.8+ recommended.


Usage

python gem_envelope.py

Press Compute envelope to run the sweep and display the shed dimensions.


Parameters

Site

Parameter Description
Latitude (°) Observer latitude. Affects polar axis tilt and sky coverage.
Pier height (mm) Height of the pier top above the floor.
Safety margin (mm) Extra clearance added to all walls.

Mount

Parameter Description
Polar axis (mm) Length of the RA axis arm from pier top to DEC junction.
DEC arm (mm) Length of the DEC axis arm to the tube saddle.
CW shaft (mm) Counterweight shaft length.
CW diameter (mm) Counterweight disc diameter.
CW position (%) Counterweight position along the shaft.
CW-up max angle (°) Maximum allowed CW-shaft angle past horizontal. Defines the meridian flip forbidden zone: hour angles between −(180°−limit) and −limit are excluded.

Telescope dimensions

Parameter Description
Tube length (mm) Total optical tube length.
Tube diameter (mm) Outer tube diameter.
Balance from front (mm) Distance from the sky-end of the tube to the DEC saddle balance point.

Envelope quality

Parameter Description
HA samples Number of hour angle steps in the sweep (12–72). Higher = more accurate, slower.
Dec samples Number of declination steps (12–48).

Wall positions

Extra offset (mm) added to each wall beyond the computed envelope + safety margin. Useful when a real building wall is further away than the minimum — the wall height is recalculated for the actual wall position.


Horizon file format

Plain text, one point per line:

# az_deg  alt_deg
0         15
45        8
90        5
180       20
270       12
355       18

Azimuth convention: 0 = North, 90 = East, 180 = South, 270 = West.


Output

The results panel shows:

  • E-W width and N-S depth of the required shed footprint.
  • Surface area (m²).
  • Clear height — minimum wall height so all valid lines of sight clear the walls.
  • Pier-to-wall distances for each of the four walls.
  • E/W asymmetry warning if the pier is significantly off-centre.

Yellow arrows in the 3D view indicate the pier-to-wall distances directly on the plot.


License

MIT

About

JUst a small code to estimate how large/small an astro shed could/should be, regarding the telescope and mount placed inside

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages