pythoncad-developer Mailing List for PythonCAD (Page 9)
CAD Application entire developed in Python
Status: Beta
Brought to you by:
matteoboscolo
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(30) |
Feb
(65) |
Mar
(32) |
Apr
(42) |
May
(32) |
Jun
(18) |
Jul
(4) |
Aug
(30) |
Sep
(31) |
Oct
(28) |
Nov
(4) |
Dec
(40) |
2011 |
Jan
(18) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(4) |
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
(3) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Matteo B. <mat...@bo...> - 2010-06-01 12:48:14
|
Hi All, At the following link http://pythoncad.sourceforge.net/dokuwiki/doku.php?id=pt:r37-_r38_migration , you can see actual R38 development state .. The developer team update it as soon we deliver some new features or commands. Regards, Matteo |
From: SourceForge.net <no...@so...> - 2010-05-30 09:58:40
|
PythoncadWishTraker item #2907458, was opened at 2009-12-02 13:59 Message generated for change (Settings changed) made by matteoboscolo You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1334597&aid=2907458&group_id=263167 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Command Group: None >Status: Closed Resolution: Fixed Priority: 8 Private: No Submitted By: yndesai (yndesai) Assigned to: Matteo Boscolo (matteoboscolo) Summary: Ellipse entity needed. Initial Comment: Expand the circle entity Top Priority (from wiki feature request) ---------------------------------------------------------------------- Comment By: Matteo Boscolo (matteoboscolo) Date: 2010-05-30 11:57 Message: It's now avaiable at R38 You can make some intersection with all the pythoncad entity ---------------------------------------------------------------------- Comment By: Matteo Boscolo (matteoboscolo) Date: 2009-12-31 10:44 Message: This track needs more priority. ---------------------------------------------------------------------- Comment By: yndesai (yndesai) Date: 2009-12-30 10:43 Message: Following parameters define Ellipse in DXF 1. Center point (x,y,z) 2. End point of Major axis relative to center point (x,y,z) 3. Ratio of minor axis to major axis 4. Start parameter (this value is 0.0 for a full ellipse) 5. End parameter (this value is 2pi for a full ellipse) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1334597&aid=2907458&group_id=263167 |
From: SourceForge.net <no...@so...> - 2010-05-30 09:57:50
|
PythoncadWishTraker item #2907458, was opened at 2009-12-02 13:59 Message generated for change (Settings changed) made by matteoboscolo You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1334597&aid=2907458&group_id=263167 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Command Group: None Status: Open >Resolution: Fixed Priority: 8 Private: No Submitted By: yndesai (yndesai) >Assigned to: Matteo Boscolo (matteoboscolo) Summary: Ellipse entity needed. Initial Comment: Expand the circle entity Top Priority (from wiki feature request) ---------------------------------------------------------------------- >Comment By: Matteo Boscolo (matteoboscolo) Date: 2010-05-30 11:57 Message: It's now avaiable at R38 You can make some intersection with all the pythoncad entity ---------------------------------------------------------------------- Comment By: Matteo Boscolo (matteoboscolo) Date: 2009-12-31 10:44 Message: This track needs more priority. ---------------------------------------------------------------------- Comment By: yndesai (yndesai) Date: 2009-12-30 10:43 Message: Following parameters define Ellipse in DXF 1. Center point (x,y,z) 2. End point of Major axis relative to center point (x,y,z) 3. Ratio of minor axis to major axis 4. Start parameter (this value is 0.0 for a full ellipse) 5. End parameter (this value is 2pi for a full ellipse) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1334597&aid=2907458&group_id=263167 |
From: Matteo B. <mat...@bo...> - 2010-05-29 09:44:14
|
Hi Gertwin, Yes of course we can .. But for now that we are in a development I will prefer to use it as a package .. When we will release the first beta of R38 we can include this as part of Pythoncad. Let me know if for you is ok .. Regards, Matteo -----Original Message----- From: Gertwin Groen [mailto:ger...@gm...] Sent: 29 May 2010 10:43 To: Matteo Boscolo Subject: Re: [Pythoncad-developer] Pythoncad R38 Change Hi Matteo, Because sympy is all python code we can also add it to the PythonCAD source itself (PythonCAD\Generic\sympy). That way there is no need to install the sympy package and we can test against a certain version (the one we add to the PythonCAD source tree). It is permited if I read the LICENSE file in the sympy package. Regards, Gertwin 2010/5/28 Matteo Boscolo <mat...@bo...>: > Hi All > > Starting from the last committed version PythonCad R38 need this python > package to run properly. > > http://code.google.com/p/sympy/ > > let me know if you get any error or problem > > Regards, > > Matteo > > ---------------------------------------------------------------------------- -- > > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > |
From: Matteo B. <mat...@bo...> - 2010-05-28 13:58:52
|
Hi All Starting from the last committed version PythonCad R38 need this python package to run properly. http://code.google.com/p/sympy/ let me know if you get any error or problem Regards, Matteo |
From: Gertwin G. <ger...@gm...> - 2010-05-25 16:13:06
|
Hi Matteo, I agree, only display real point entities. The square is good enough for now, maybe with a dot in the center. Regards, Gertwin 2010/5/25 Matteo Boscolo <mat...@bo...>: > Hi Guys, > > I’m going to develop the point functionality for the R38 > > Till the release R37.1 the point are shown as a little square and are part > of any entity in PythonCad. > > There is a functionality do disable the render of this point ..and I always > use it .. > > I would like to remove this functionality and allow the representation of > the only points that the user create. > > Witch kind of shape we will give at the point ? > > We continue to see it as a little square ? > > Regards, > > Matteo > > > > ------------------------------------------------------------------------------ > > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > |
From: Matteo B. <mat...@bo...> - 2010-05-25 07:59:52
|
Hi Guys, I'm going to develop the point functionality for the R38 Till the release R37.1 the point are shown as a little square and are part of any entity in PythonCad. There is a functionality do disable the render of this point ..and I always use it .. I would like to remove this functionality and allow the representation of the only points that the user create. Witch kind of shape we will give at the point ? We continue to see it as a little square ? Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-23 10:03:07
|
Hi All, Today I committed a new version of the geometrical object .. I Made this change to better implements a "modifie" command .. It's possible that the old pdr file will have some problem .. Let me know if you have any problem. Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-22 08:05:04
|
Hi All, In the following link you can find a new video that show the new R38 alfa release in action. http://www.youtube.com/watch?v=gOKr6gLuYfk enjoy, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-21 20:57:33
|
I fixed this issue, I found that the issue is due to the case insensitive in git in windows platform .. Let me know if with the last commit the issue is fixed. Regards, Matteo On Fri, 2010-05-21 at 18:05 +0530, Yagnesh Desai wrote: > Friends; > > You guys seem to have done lot of work I need to do the catching: > > I tried to test R38 on 21st May. > Firstly there were few things I needed to fix before test_kernel > could start. > > 1. Change pygeolib to pyGeoLib in following files > segment.py > arc.py > ccircle.py > segjoint.py > also on searching i found that there are 3 pyGeoLib.py files > in pythoncad > > 2. Change the reference of intersection > in segjoint.py > just to tell there is another module name intersections (with 's') > hope that is fine. > > Now that I could start test_kernel.py > what it see text window taking my inputs no output seen. > > I am still struggling with pythoncad_qt.py > error in pythoncad_qt.py is as under > > /media/disk/pythoncad/PythonCAD$ python pythoncad_qt.py > Traceback (most recent call last): > File "pythoncad_qt.py", line 5, in <module> > sip.setapi('QString', 2) > AttributeError: 'module' object has no attribute 'setapi' > > - - - - - - - > Best regards > > Yagnesh Desai > Save a tree...please don't print this e-mail. > > ------------------------------------------------------------------------------ > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > |
From: Paolo Z. <zam...@gm...> - 2010-05-21 19:59:21
|
Hi Matteo, was just an idea. Do not have time to fully develop. Perhaps in the future. Regards, Paolo > Hi Paolo, > I'm very interested in your approach.. it something out of the box.. > But I think that manage this structure in python will be very difficult without a C library..or an external support > and this is not what we want in Pythoncad.. > > As sent today .. we have the first qt version of the new kernel and after 6 month of work we start to see something interesting .. so I do not want to change again the PythonCad Structure .. > We need to have a good and stable version for the end of this yard .This is my primary target for the project. > > So if you want to try to develop this kind of structure ..and see if it takes somewere .. > You can build a new git branch in the repository called R38_experimental and do all your test there .. > > I can give you all the help you need to understand the actual kernel for managing your new structure. > > Regards, > Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-21 16:15:53
|
Hi Yagnesh, Try to make a new git-clone in a brand new directory .. It seems that your local directory have some old files . Regards, Matteo -----Original Message----- From: Yagnesh Desai [mailto:yn...@gm...] Sent: 21 May 2010 14:36 To: pyt...@li... Subject: [Pythoncad-developer] Testing R38 Friends; You guys seem to have done lot of work I need to do the catching: I tried to test R38 on 21st May. Firstly there were few things I needed to fix before test_kernel could start. 1. Change pygeolib to pyGeoLib in following files segment.py arc.py ccircle.py segjoint.py also on searching i found that there are 3 pyGeoLib.py files in pythoncad 2. Change the reference of intersection in segjoint.py just to tell there is another module name intersections (with 's') hope that is fine. Now that I could start test_kernel.py what it see text window taking my inputs no output seen. I am still struggling with pythoncad_qt.py error in pythoncad_qt.py is as under /media/disk/pythoncad/PythonCAD$ python pythoncad_qt.py Traceback (most recent call last): File "pythoncad_qt.py", line 5, in <module> sip.setapi('QString', 2) AttributeError: 'module' object has no attribute 'setapi' - - - - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. ---------------------------------------------------------------------------- -- _______________________________________________ Pythoncad-developer mailing list Pyt...@li... https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: Gertwin G. <ger...@gm...> - 2010-05-21 14:47:39
|
Hi, Maybe you can try to remove the lines: # This is only needed for Python v2 but is harmless for Python v3. import sip sip.setapi('QString', 2) >From the PyQt documentation: <quote> PyQt provides limited support for multiple incompatible APIs and the ability for an application to select between them at run-time. For example, an application can choose whether QString is implemented as a Python type, or is automatically converted to and from a Python v2 unicode object or a Python v3 string object. This ability allows developers to decide how to manage the transition from an older deprecated, API to a newer incompatible API. Each API that can be selected in this way has a name and a range of version numbers. An application calls sip.setapi() to set the version number of a particular API. This call must be made before any module that implements the API is imported. Once set the version number cannot be changed. If not set then an API will use its default version. For example the following code will disable the use of QString: import sip sip.setapi('QString', 2) from PyQt4 import QtCore # This will raise an attribute exception because QString is only wrapped # in version 1 of the API. s = QtCore.QString() </quote> Regards, Gertwin 2010/5/21 Yagnesh Desai <yn...@gm...>: > Friends; > > You guys seem to have done lot of work I need to do the catching: > > I tried to test R38 on 21st May. > Firstly there were few things I needed to fix before test_kernel > could start. > > 1. Change pygeolib to pyGeoLib in following files > segment.py > arc.py > ccircle.py > segjoint.py > also on searching i found that there are 3 pyGeoLib.py files > in pythoncad > > 2. Change the reference of intersection > in segjoint.py > just to tell there is another module name intersections (with 's') > hope that is fine. > > Now that I could start test_kernel.py > what it see text window taking my inputs no output seen. > > I am still struggling with pythoncad_qt.py > error in pythoncad_qt.py is as under > > /media/disk/pythoncad/PythonCAD$ python pythoncad_qt.py > Traceback (most recent call last): > File "pythoncad_qt.py", line 5, in <module> > sip.setapi('QString', 2) > AttributeError: 'module' object has no attribute 'setapi' > > Regards > Yagnesh Desai > > ------------------------------------------------------------------------------ > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > |
From: Yagnesh D. <yn...@gm...> - 2010-05-21 12:35:41
|
Friends; You guys seem to have done lot of work I need to do the catching: I tried to test R38 on 21st May. Firstly there were few things I needed to fix before test_kernel could start. 1. Change pygeolib to pyGeoLib in following files segment.py arc.py ccircle.py segjoint.py also on searching i found that there are 3 pyGeoLib.py files in pythoncad 2. Change the reference of intersection in segjoint.py just to tell there is another module name intersections (with 's') hope that is fine. Now that I could start test_kernel.py what it see text window taking my inputs no output seen. I am still struggling with pythoncad_qt.py error in pythoncad_qt.py is as under /media/disk/pythoncad/PythonCAD$ python pythoncad_qt.py Traceback (most recent call last): File "pythoncad_qt.py", line 5, in <module> sip.setapi('QString', 2) AttributeError: 'module' object has no attribute 'setapi' - - - - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. |
From: Yagnesh D. <yn...@gm...> - 2010-05-21 12:32:09
|
Friends; You guys seem to have done lot of work I need to do the catching: I tried to test R38 on 21st May. Firstly there were few things I needed to fix before test_kernel could start. 1. Change pygeolib to pyGeoLib in following files segment.py arc.py ccircle.py segjoint.py also on searching i found that there are 3 pyGeoLib.py files in pythoncad 2. Change the reference of intersection in segjoint.py just to tell there is another module name intersections (with 's') hope that is fine. Now that I could start test_kernel.py what it see text window taking my inputs no output seen. I am still struggling with pythoncad_qt.py error in pythoncad_qt.py is as under /media/disk/pythoncad/PythonCAD$ python pythoncad_qt.py Traceback (most recent call last): File "pythoncad_qt.py", line 5, in <module> sip.setapi('QString', 2) AttributeError: 'module' object has no attribute 'setapi' Regards Yagnesh Desai |
From: Matteo B. <mat...@bo...> - 2010-05-21 10:51:34
|
Hi Gertwin, Now the application have a new method to save the current file savaAs function .. def saveAs(self, newFileName): """ seve the current document to the new position """ if self.__ActiveDocument: oldFileName=self.__ActiveDocument.getName() self.closeDocument(oldFileName) shutil.copy2(oldFileName,newFileName) self.openDocument(newFileName) as you can see from the code to perform a save as command I do in the following way: 1) Close the actual file 2) Save the oldfile in a differen position 3) And reopen it .. I do not know some different way to perform such a operation .. Do you have any different idea to perform such a command? Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-21 08:46:41
|
Hi , I have added this new command at the debug test interface Delete Undo Redo ELLIPSE enjoy, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-20 21:08:39
|
Hi Paolo, I'm very interested in your approach.. it something out of the box.. But I think that manage this structure in python will be very difficult without a C library..or an external support and this is not what we want in Pythoncad.. As sent today .. we have the first qt version of the new kernel and after 6 month of work we start to see something interesting .. so I do not want to change again the PythonCad Structure .. We need to have a good and stable version for the end of this yard .This is my primary target for the project. So if you want to try to develop this kind of structure ..and see if it takes somewere .. You can build a new git branch in the repository called R38_experimental and do all your test there .. I can give you all the help you need to understand the actual kernel for managing your new structure. Regards, Matteo -----Original Message----- From: Paolo Zambetti [mailto:zam...@gm...] Sent: 20 May 2010 22:10 To: PythonCad Developer Subject: Re: [Pythoncad-developer] Draw in oo mode Hi Gertwin, The design is not a puzzle surfaces. Design is an overlap of surfaces. >You need to have a kind of way to > describe the surface. A closed path is one and only one surface. I have attached a svg file with examples. I do not know GEOS. PyCairo is good!. Draw surfaces one above the other > Besides only surfaces, a cad drawing must contain simple linear > entities, for instance lines can make up a sewerage system, by binding > properties to this line like diameter and material it becomes an > (linear) object. If not a path then it is annotation (axsis, dimension,...) I thought the following classes: class sketch(): factory of path . . self._entities=[] # serialized in DB . . def get_path(self) . . return path #continually recalculated class path(): . . self._entities=[] # referece in DB . def get_entity(self,n) . . return path #continually recalculated class Function(): . . self._input_paths=[] # referece in DB . . def get_output_paths(self) . . return paths #continually recalculated def set_position(self,path,n) def set_rotation(self,patth,n,a) def translate(self,x,y) def rotate(a) class Projection(): . . self._Functions=[] # references in DB def set_position(self,path,n) def set_rotation(self,patth,n,a) def translate(self,x,y) def rotate(a) . . class Drawing(): . . self._projections=[] # references in DB self._annotations=[] # references in DB def get_image(self) #continually recalculated Regards, Paolo Il giorno lun, 17/05/2010 alle 21.37 +0200, Gertwin Groen ha scritto: > Hi Paolo, > > I think your ideas about surfaces are interesting. > This is how I see this subject, correct me if I am wrong. > > As you said the boundary of the surfaces are made up from simple > linear entities or circles, ellipses. > We need functions to create and manipulate simple linear boundary entities. > > A single boundary entity can serve as edge between 2 surfaces, moving > this single entity modifies 2 surfaces. > Because entities can act as a boundary between multiple surfaces, > these boundary entities itself can not identify the surface object. > For instance a single line entity can act as the boundary between the > street and a building, this line can not say anything about the > surfaces to the left and right. You need to have a kind of way to > describe the surface. > > On the other way not all linear entities can act as an boundary for surfaces. > If you have an floor with an table, the table must not result in an > island on the floor. > So the boundary of the table is not used for the floor. > > I think all the actions on surfaces (or polygons) that you describes > are handled by the GEOS (http://trac.osgeo.org/geos/) project. > See the methods of the GEOMETRY object: > http://download.osgeo.org/geos/doxygen/classgeos_1_1geom_1_1Geometry.html. > > I agree with you that we need a good set of functions to describe > surface objects. > Matteo and I had some discussion about this a while ago. > > Besides only surfaces, a cad drawing must contain simple linear > entities, for instance lines can make up a sewerage system, by binding > properties to this line like diameter and material it becomes an > (linear) object. > > Regards, > Gertwin > > > 2010/5/15 Paolo Zambetti <zam...@gm...>: > > > > Hi developers, > > > > Let read the follow idea! > > > > Some days ago I bring my chief a draw, and he told me: “next time > > it’s better if you bring me a white paper with some random lines on > > it, so I can fix them on it!”. All times I mind about a list of > > entities in a document I ask myself: Now who does fix them? > > > > All you know everything about the difference between procedural > > programming and object oriented programming. And no matter, it is > > most useful the second one. Then, why we draw in procedural mode > > instead of oo mode? > > > > Geometric entities in a draw are the same as the lines in a printed > > program. Even less complex ones. In fact if I change the order in a > > printed code line in a program the program won’t even start, instead > > if I change the order of the entities in a draw nothing wrong > > happens. The entities in a drow are free from semantics and structure! > > > > All of us think about 3D drawings as special ones because of are > > visual and recognizable. But 3D drawing is special because the > > designer build and handle objects, and the computer software manage them easily. > > > > If you want to do it in 3D you don’t need to do it. You can build, > > handle and manage objects even in 2D environment. The geometric > > entities are 1D objects in a 2D environment. > > > > The objects we can handle are 2D surfaces in a 2D environment. The > > surface is the result of a 1D entity closed frame. I mean “frame” as > > a chain of entities: the end point of an entity is the starting > > point of the next entity. > > > > In a surface you can describe an inside or an outside, a filled side > > or an empty side. And you can have a function applied to the > > surface. You can have a hole on a surface. Even you can hide a > > surface on others and sketch the shadow on it. You can link two > > surfaces, intersect, add or subtract each others. > > > > The final result of all these functions is the projection (view) of > > the physical object, and you can relate it with other projection of > > the same object. > > > > The projections are positioned on the sheet and dimensioned. You > > can’t handle 1D entities outside a surface because if you do it you > > would create a non sense. The designer just have to mind about draw > > surfaces instead of draw random entities. > > > > You can do even more > > > > Each function own the tree of functions who generate it. You can > > generate a function and figure again it’s projection. You can even > > change the input surfaces of the functions and figure again it’s > > projections. The surfaces patterns may be parametric, I change one > > parameter and figure again the relative projection. > > > > One projection may be set in relation to the others. In this way if > > you move or change the projection even the son projections move or changes. > > > > It’s a new world! > > > > Why do we go on as usual and manage a simple list of entities? > > > > > > > > Best regards.. > > > > Paolo Zambetti > > > > > > -------------------------------------------------------------------- > > ---------- > > > > _______________________________________________ > > Pythoncad-developer mailing list > > Pyt...@li... > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > |
From: Paolo Z. <zam...@gm...> - 2010-05-20 20:10:13
|
Hi Gertwin, The design is not a puzzle surfaces. Design is an overlap of surfaces. >You need to have a kind of way to > describe the surface. A closed path is one and only one surface. I have attached a svg file with examples. I do not know GEOS. PyCairo is good!. Draw surfaces one above the other > Besides only surfaces, a cad drawing must contain simple linear > entities, for instance lines can make up a sewerage system, by binding > properties to this line like diameter and material it becomes an > (linear) object. If not a path then it is annotation (axsis, dimension,...) I thought the following classes: class sketch(): factory of path . . self._entities=[] # serialized in DB . . def get_path(self) . . return path #continually recalculated class path(): . . self._entities=[] # referece in DB . def get_entity(self,n) . . return path #continually recalculated class Function(): . . self._input_paths=[] # referece in DB . . def get_output_paths(self) . . return paths #continually recalculated def set_position(self,path,n) def set_rotation(self,patth,n,a) def translate(self,x,y) def rotate(a) class Projection(): . . self._Functions=[] # references in DB def set_position(self,path,n) def set_rotation(self,patth,n,a) def translate(self,x,y) def rotate(a) . . class Drawing(): . . self._projections=[] # references in DB self._annotations=[] # references in DB def get_image(self) #continually recalculated Regards, Paolo Il giorno lun, 17/05/2010 alle 21.37 +0200, Gertwin Groen ha scritto: > Hi Paolo, > > I think your ideas about surfaces are interesting. > This is how I see this subject, correct me if I am wrong. > > As you said the boundary of the surfaces are made up from simple > linear entities or circles, ellipses. > We need functions to create and manipulate simple linear boundary entities. > > A single boundary entity can serve as edge between 2 surfaces, moving > this single entity modifies 2 surfaces. > Because entities can act as a boundary between multiple surfaces, > these boundary entities itself can not identify the surface object. > For instance a single line entity can act as the boundary between the > street and a building, this line can not say anything about the > surfaces to the left and right. You need to have a kind of way to > describe the surface. > > On the other way not all linear entities can act as an boundary for surfaces. > If you have an floor with an table, the table must not result in an > island on the floor. > So the boundary of the table is not used for the floor. > > I think all the actions on surfaces (or polygons) that you describes > are handled by the GEOS (http://trac.osgeo.org/geos/) project. > See the methods of the GEOMETRY object: > http://download.osgeo.org/geos/doxygen/classgeos_1_1geom_1_1Geometry.html. > > I agree with you that we need a good set of functions to describe > surface objects. > Matteo and I had some discussion about this a while ago. > > Besides only surfaces, a cad drawing must contain simple linear > entities, for instance lines can make up a sewerage system, by binding > properties to this line like diameter and material it becomes an > (linear) object. > > Regards, > Gertwin > > > 2010/5/15 Paolo Zambetti <zam...@gm...>: > > > > Hi developers, > > > > Let read the follow idea! > > > > Some days ago I bring my chief a draw, and he told me: “next time it’s > > better if you bring me a white paper with some random lines on it, so I > > can fix them on it!”. All times I mind about a list of entities in a > > document I ask myself: Now who does fix them? > > > > All you know everything about the difference between procedural > > programming and object oriented programming. And no matter, it is most > > useful the second one. Then, why we draw in procedural mode instead of > > oo mode? > > > > Geometric entities in a draw are the same as the lines in a printed > > program. Even less complex ones. In fact if I change the order in a > > printed code line in a program the program won’t even start, instead if > > I change the order of the entities in a draw nothing wrong happens. The > > entities in a drow are free from semantics and structure! > > > > All of us think about 3D drawings as special ones because of are visual > > and recognizable. But 3D drawing is special because the designer build > > and handle objects, and the computer software manage them easily. > > > > If you want to do it in 3D you don’t need to do it. You can build, > > handle and manage objects even in 2D environment. The geometric entities > > are 1D objects in a 2D environment. > > > > The objects we can handle are 2D surfaces in a 2D environment. The > > surface is the result of a 1D entity closed frame. I mean “frame” as a > > chain of entities: the end point of an entity is the starting point of > > the next entity. > > > > In a surface you can describe an inside or an outside, a filled side or > > an empty side. And you can have a function applied to the surface. You > > can have a hole on a surface. Even you can hide a surface on others and > > sketch the shadow on it. You can link two surfaces, intersect, add or > > subtract each others. > > > > The final result of all these functions is the projection (view) of the > > physical object, and you can relate it with other projection of the same > > object. > > > > The projections are positioned on the sheet and dimensioned. You can’t > > handle 1D entities outside a surface because if you do it you would > > create a non sense. The designer just have to mind about draw surfaces > > instead of draw random entities. > > > > You can do even more > > > > Each function own the tree of functions who generate it. You can > > generate a function and figure again it’s projection. You can even > > change the input surfaces of the functions and figure again it’s > > projections. The surfaces patterns may be parametric, I change one > > parameter and figure again the relative projection. > > > > One projection may be set in relation to the others. In this way if you > > move or change the projection even the son projections move or changes. > > > > It’s a new world! > > > > Why do we go on as usual and manage a simple list of entities? > > > > > > > > Best regards.. > > > > Paolo Zambetti > > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > > Pythoncad-developer mailing list > > Pyt...@li... > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > |
From: Matteo B. <mat...@bo...> - 2010-05-20 15:31:53
|
Hi All, Starting from today we start to have the first R38 Pythoncad alfa version with new user interface and text command . The actual functionality are : 1) Import dxf (only arc segment and text) 2) Possibility to manage more document on the some application 3) ARC 4) SEGMENT 5) TEXT 6) CHAMFER 7) Pan with slider 8) Well zoom For testing the text command you can open a new document Go to Debug->debug Pycad New window will be opened . You can type the following command s: Documents (Prompt all the document path) CHAMFER TEXT EntExsist(check if an entity with a given id exsist) ARC GetEnts (Prompt the id of all the entity) CreateStyle (Create a new style object on the current document) SEGMENT GetActiveDoc (Get the name of the active doc) The user interface is now changed in QT.. so you need to install the pyqt module. No other reference will be needed. This is a very empty user interface .. in the following month I hope to have some more functionality .. I'm here for any doubt and question. Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-05-19 05:30:33
|
Hi Jon, Thanks for the patch .. I will add it as soon I can. Actually your patch is for version R37 that is the actual released .. So please use the version R37.1 that is in the git repo at : git://pythoncad.git.sourceforge.net/gitroot/pythoncad/Pythoncad for future patch. The R37... version will have only some bug fix .. we are in the middle of Pythoncad rewriting. R38 will have a different user interface from gtk->qt and a brand new kernel..now we will have sqlite database as file storage. http://pythoncad.sourceforge.net/dokuwiki/doku.php?id=releases So if you want to have a look at R38 please download it from git repository .. If you have some trouble with git please go to the wiki at : http://pythoncad.sourceforge.net/dokuwiki/doku.php?id=download Regards, Matteo -----Original Message----- From: Jon Tibble [mailto:me...@bt...] Sent: 18 May 2010 18:44 To: pyt...@li... Subject: Re: [Pythoncad-developer] prefs.py when packaging PythonCAD On 18/05/2010 03:04, Jon Tibble wrote: > Hi, > > I was looking at packaging PythonCAD and noticed that you only check > /etc for the global preferences. Some OSs/distributions will want to > put application config files in /usr/etc or /usr/local/etc so I > prepose the attached patch for your consideration. > > Regards, > Jon > > P.S. I noticed the global pref_file is set then unused in that file so > you may want to remove that too? > Probably a better approach attached. |
From: Jon T. <me...@bt...> - 2010-05-18 16:45:49
|
On 18/05/2010 03:04, Jon Tibble wrote: > Hi, > > I was looking at packaging PythonCAD and noticed that you only check > /etc for the global preferences. Some OSs/distributions will want to put > application config files in /usr/etc or /usr/local/etc so I prepose the > attached patch for your consideration. > > Regards, > Jon > > P.S. I noticed the global pref_file is set then unused in that file so > you may want to remove that too? > Probably a better approach attached. |
From: Jon T. <me...@bt...> - 2010-05-18 02:06:56
|
Hi, I was looking at packaging PythonCAD and noticed that you only check /etc for the global preferences. Some OSs/distributions will want to put application config files in /usr/etc or /usr/local/etc so I prepose the attached patch for your consideration. Regards, Jon P.S. I noticed the global pref_file is set then unused in that file so you may want to remove that too? |
From: Gertwin G. <ger...@gm...> - 2010-05-17 19:37:57
|
Hi Paolo, I think your ideas about surfaces are interesting. This is how I see this subject, correct me if I am wrong. As you said the boundary of the surfaces are made up from simple linear entities or circles, ellipses. We need functions to create and manipulate simple linear boundary entities. A single boundary entity can serve as edge between 2 surfaces, moving this single entity modifies 2 surfaces. Because entities can act as a boundary between multiple surfaces, these boundary entities itself can not identify the surface object. For instance a single line entity can act as the boundary between the street and a building, this line can not say anything about the surfaces to the left and right. You need to have a kind of way to describe the surface. On the other way not all linear entities can act as an boundary for surfaces. If you have an floor with an table, the table must not result in an island on the floor. So the boundary of the table is not used for the floor. I think all the actions on surfaces (or polygons) that you describes are handled by the GEOS (http://trac.osgeo.org/geos/) project. See the methods of the GEOMETRY object: http://download.osgeo.org/geos/doxygen/classgeos_1_1geom_1_1Geometry.html. I agree with you that we need a good set of functions to describe surface objects. Matteo and I had some discussion about this a while ago. Besides only surfaces, a cad drawing must contain simple linear entities, for instance lines can make up a sewerage system, by binding properties to this line like diameter and material it becomes an (linear) object. Regards, Gertwin 2010/5/15 Paolo Zambetti <zam...@gm...>: > > Hi developers, > > Let read the follow idea! > > Some days ago I bring my chief a draw, and he told me: “next time it’s > better if you bring me a white paper with some random lines on it, so I > can fix them on it!”. All times I mind about a list of entities in a > document I ask myself: Now who does fix them? > > All you know everything about the difference between procedural > programming and object oriented programming. And no matter, it is most > useful the second one. Then, why we draw in procedural mode instead of > oo mode? > > Geometric entities in a draw are the same as the lines in a printed > program. Even less complex ones. In fact if I change the order in a > printed code line in a program the program won’t even start, instead if > I change the order of the entities in a draw nothing wrong happens. The > entities in a drow are free from semantics and structure! > > All of us think about 3D drawings as special ones because of are visual > and recognizable. But 3D drawing is special because the designer build > and handle objects, and the computer software manage them easily. > > If you want to do it in 3D you don’t need to do it. You can build, > handle and manage objects even in 2D environment. The geometric entities > are 1D objects in a 2D environment. > > The objects we can handle are 2D surfaces in a 2D environment. The > surface is the result of a 1D entity closed frame. I mean “frame” as a > chain of entities: the end point of an entity is the starting point of > the next entity. > > In a surface you can describe an inside or an outside, a filled side or > an empty side. And you can have a function applied to the surface. You > can have a hole on a surface. Even you can hide a surface on others and > sketch the shadow on it. You can link two surfaces, intersect, add or > subtract each others. > > The final result of all these functions is the projection (view) of the > physical object, and you can relate it with other projection of the same > object. > > The projections are positioned on the sheet and dimensioned. You can’t > handle 1D entities outside a surface because if you do it you would > create a non sense. The designer just have to mind about draw surfaces > instead of draw random entities. > > You can do even more > > Each function own the tree of functions who generate it. You can > generate a function and figure again it’s projection. You can even > change the input surfaces of the functions and figure again it’s > projections. The surfaces patterns may be parametric, I change one > parameter and figure again the relative projection. > > One projection may be set in relation to the others. In this way if you > move or change the projection even the son projections move or changes. > > It’s a new world! > > Why do we go on as usual and manage a simple list of entities? > > > > Best regards.. > > Paolo Zambetti > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > |
From: Paolo Z. <zam...@gm...> - 2010-05-15 06:02:03
|
Hi developers, Let read the follow idea! Some days ago I bring my chief a draw, and he told me: “next time it’s better if you bring me a white paper with some random lines on it, so I can fix them on it!”. All times I mind about a list of entities in a document I ask myself: Now who does fix them? All you know everything about the difference between procedural programming and object oriented programming. And no matter, it is most useful the second one. Then, why we draw in procedural mode instead of oo mode? Geometric entities in a draw are the same as the lines in a printed program. Even less complex ones. In fact if I change the order in a printed code line in a program the program won’t even start, instead if I change the order of the entities in a draw nothing wrong happens. The entities in a drow are free from semantics and structure! All of us think about 3D drawings as special ones because of are visual and recognizable. But 3D drawing is special because the designer build and handle objects, and the computer software manage them easily. If you want to do it in 3D you don’t need to do it. You can build, handle and manage objects even in 2D environment. The geometric entities are 1D objects in a 2D environment. The objects we can handle are 2D surfaces in a 2D environment. The surface is the result of a 1D entity closed frame. I mean “frame” as a chain of entities: the end point of an entity is the starting point of the next entity. In a surface you can describe an inside or an outside, a filled side or an empty side. And you can have a function applied to the surface. You can have a hole on a surface. Even you can hide a surface on others and sketch the shadow on it. You can link two surfaces, intersect, add or subtract each others. The final result of all these functions is the projection (view) of the physical object, and you can relate it with other projection of the same object. The projections are positioned on the sheet and dimensioned. You can’t handle 1D entities outside a surface because if you do it you would create a non sense. The designer just have to mind about draw surfaces instead of draw random entities. You can do even more Each function own the tree of functions who generate it. You can generate a function and figure again it’s projection. You can even change the input surfaces of the functions and figure again it’s projections. The surfaces patterns may be parametric, I change one parameter and figure again the relative projection. One projection may be set in relation to the others. In this way if you move or change the projection even the son projections move or changes. It’s a new world! Why do we go on as usual and manage a simple list of entities? Best regards.. Paolo Zambetti |