Coder Social home page Coder Social logo

python-admesh's Issues

Python3 admesh issue

Python2 binding is working fine. The problem is with python3:

python3 -c'from admesh import Stl; stl = Stl("block.stl")'
Traceback (most recent call last):
File "", line 1, in
File "admesh.pyx", line 21, in admesh.Stl.cinit (admesh.c:1394)
File "admesh.pyx", line 25, in admesh.Stl.open (admesh.c:1466)
TypeError: expected bytes, str found

block.stl is from admesh source tarball

https://github.com/admesh/admesh/blob/master/block.stl

Thanks

Data input: parse STL and facet import

This is a question and/or a feature request.

Currently I use python-admesh for loading a mesh from a named file:

admesh.Stl("filename.stl")

Question 1: read from stream

In order to support other input methods (e.g. download via http), I would like to read data from a stream (i.e. something that supports the "read" method):

# fictional code
open_file = open("filename.stl", "rb")
mesh = admesh.Stl()
mesh.read_from(open_file)

Question 2: add facets manually #13

Additionally I would like to export a mesh as an STL file. This mesh consists of facets, that I am using (and processing) inside of my application. Thus I would appreciate something like this:

# fictional code
mesh = admesh.Stl()
for vertices, normal in my_facets:
    mesh.add_facet(vertices, normal)

Both approaches are currently not possible with python-admesh - correct?
Would these operations be within admesh's scope? If yes: do you have suggestions, how to implement these?

Deepcopy doesn't work

Attempting to make a deep copy and modify it

from copy import deepcopy

stl = admesh.Stl('hellskull.stl')
stl_copy = deepcopy(stl)
stl_copy.rotate_z(5)

results in admesh.AdmeshError: STL not opened.

0.98.4 fails to compile

There is a problem with compiling the latest version. It fails with the following message:

cythoning admesh.pyx to admesh.c

Error compiling Cython file:
------------------------------------------------------------
...

    def __next__(self):
        if self._iterindex >= len(self):
            raise StopIteration
        self._iterindex += 1
        return self._c_stl_file.facet_start[self._iterindex - 1]
                                          ^
------------------------------------------------------------

admesh.pyx:41:43: Cannot convert 'stl_facet' to Python object

Error compiling Cython file:
------------------------------------------------------------
...

    def facet_stats(self, facet, first):
        """stl_facet_stats"""
        if not self._opened:
            raise AdmeshError('STL not opened')
        stl_facet_stats(&self._c_stl_file, facet, first)
                                               ^
------------------------------------------------------------

admesh.pyx:419:48: Cannot convert Python object to 'stl_facet'
building 'admesh' extension

get_size() and calculate_volume() methods return None

Hi,

I installed python-admesh 0.98.2 on Mac OS X Yosemite. I tried to get the size and volume of an still file from python but all I get is None
I ran following code in python:

    from admesh import Stl
    stl = Stl('test/block.stl')
    print stl.get_size()
    print stl.calculate_volume()

However I get the stats when I run admesh test/block.stl no problem.
Am I missing something here?

Thanks

Mac - problem with installation

Hi,
i had a problem with installation on my mac. It looks like method get_header from autogen.py doesn't work with clang (it could not find cc1 command).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.