Author Topic: AutoCAD - First Plug-in Training  (Read 25338 times)

0 Members and 1 Guest are viewing this topic.

BlackBox

  • King Gator
  • Posts: 3745
Re: AutoCAD - First Plug-in Training
« Reply #45 on: January 05, 2012, 07:18:15 AM »
So how does one become a "professional" programmer?  :?

... B.S.C.S. + MS Certifications (MCSD, MCAD, MCPD, etc.)?
"How we think determines what we do, and what we do determines what we get."

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: AutoCAD - First Plug-in Training
« Reply #46 on: January 05, 2012, 07:23:35 AM »
So how does one become a "professional" programmer?  :?

... B.S.C.S. + MS Certifications (MCSD, MCAD, MCPD, etc.)?

nope.

about 50000 lines of code almost gets you there though ...
.. and finding someone to pay for the coffee :)
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

--> Donate to theSwamp<--

BlackBox

  • King Gator
  • Posts: 3745
Re: AutoCAD - First Plug-in Training
« Reply #47 on: January 05, 2012, 08:34:25 AM »
So how does one become a "professional" programmer?  :?

... B.S.C.S. + MS Certifications (MCSD, MCAD, MCPD, etc.)?

nope.

about 50000 lines of code almost gets you there though ...
.. and finding someone to pay for the coffee :)

LoL, obviously (< Education Experience)... I was only asking as a self taught* LISP/.NET guy (+/-2 years since I learned what a defun was), who's going back to resume B.S.C.S. this fall.

*I am fortunate to have received much, much help of some great folks in the forums too of course. :wink:

Despite my experience with CAD, I feel that I have only scratched the surface of my programming abilities, and am interested in pursuing a development career.

Code: [Select]
If Career.CAD_Technician.Salary < Career.Programmer.Salary Then
  Return True
Else
  Return Nothing
End If

"How we think determines what we do, and what we do determines what we get."

alanjt

  • Needs a day job
  • Posts: 5339
  • Standby for witty remark...
Re: AutoCAD - First Plug-in Training
« Reply #48 on: January 05, 2012, 08:37:35 AM »
Code: [Select]
If Career.CAD_Technician.Salary < Career.Programmer.Salary Then
  Return True
Else
  Return Nothing
End If
I *seriously* hope money isn't the reason to change a career.
Civil 3D 2019 ~ Windohz 7 64bit
Dropbox

BlackBox

  • King Gator
  • Posts: 3745
Re: AutoCAD - First Plug-in Training
« Reply #49 on: January 05, 2012, 08:52:31 AM »
I *seriously* hope money isn't the reason to change a career.

I'd be lying if I said it ($) wasn't a factor... but I meant what I said about only scratching the surface of my programming abilities.

I'd be happy to clarify, but that discussion is irrelevant to this thread; feel free to email me offline Alan.

Anyway, I don't mean to derail the thread further - thanks for the response Kerry.

Cheers! :beer:
"How we think determines what we do, and what we do determines what we get."

alanjt

  • Needs a day job
  • Posts: 5339
  • Standby for witty remark...
Re: AutoCAD - First Plug-in Training
« Reply #50 on: January 05, 2012, 08:58:41 AM »
I'd be happy to clarify, but that discussion is irrelevant to this thread; feel free to email me offline Alan.
Not necessary. I was just curious about your claims to pursuits of more money.

Please resume your normal broadcasting...
Civil 3D 2019 ~ Windohz 7 64bit
Dropbox

TheMaster

  • Guest
Re: AutoCAD - First Plug-in Training
« Reply #51 on: January 05, 2012, 04:00:12 PM »
So how does one become a "professional" programmer?  :?

... B.S.C.S. + MS Certifications (MCSD, MCAD, MCPD, etc.)?


A professional programmer is someone for whom programming is their primary job function exclusively, and who has the skills and experience gained from doing that for at least 2-3 years, in contrast to AutoCAD power-users or cad managers that might write code occasionally.

They can be self-taught or professionally trained, but because programming is an ongoing learning process that requires one to become proficient with and use new technologies productively as they evolve and come online, it's not simply a matter of one-time training. Acquiring and maintaining the required experience and skill really does require full-time dedication.

That's not to suggest that power users and cadd managers can't or shouldn't use .NET and ObjectARX for occasional scripting and automation, but if you're the one paying their salary, you have to weigh the need to bear the significant cost (and potential pitfalls) of the on-the-job learning curve with the potential benefits. On-the-job training at an employer's expense is certainly possible, provided the employer understands both the risks and the benefits, but unfortunately I fear that many smaller organizations that use CADD don't.


dgorsman

  • Water Moccasin
  • Posts: 2433
Re: AutoCAD - First Plug-in Training
« Reply #52 on: January 05, 2012, 05:20:49 PM »
Smaller companies can't afford to have somebody dedicated to programming, nor can they afford to hire them in.  Companies around the world have been making use of talented individuals contributing in areas that are not their primary expertise; although some turn out badly thats no reason for a blanket exclusion.

The flip side of this disucssion is those whose primary profession is programming and keeping pace with programming methods & tools as suggested, are not spending the time necessary to stay current with the progam itself (e.g. AutoCAD, Civil3D) or the work processes in use by any given company, client, and/or industry.  This leads to applications which don't mesh well with what the users are actually doing, followed by complaints of "Must have been created by a programmer!".
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

BlackBox

  • King Gator
  • Posts: 3745
Re: AutoCAD - First Plug-in Training
« Reply #53 on: January 05, 2012, 06:04:16 PM »
Thanks, guys.

Education isn't everything, but it is something that I personally want to complete - If I don't find a way of making it happen, then it's not getting done. I consider my failing to accomplish something so 'simple' as my education despite the personal challenge to be unacceptable.

As for the balance between CAD/development proficiency; I'm in the gray area at the moment. I am highly proficient at the production side, which has benefited my development activities. I now actually prefer programming to production (for the past couple of years).

I come from a state sized firm that was gobbled up by a growing international firm. They're rate of acquisition propagated the philosophy that 'it's impossible to standardize 11K employees' so I am left with corporate standards that are less than what we had as the former company; critical pathed to a point, then a free for all thereafter. So there seems to be room for improvement - Just need to figure out how to build some momentum beyond the circle of CAD users that already contribute/utilize my development efforts.

I'm a LISPer who's teaching myself .NET now (mainly VB, WPF (XAML), VSTO, but I also want to learn C# among others). I am confident that development is going to remain a significant part of my work; I enjoy programming, constantly learning, and it (programming) solves so many issues either by increasing efficiency by removing redundancy, automating task completion, or providing new functionality. While I cannot code everything that comes to mind at the moment, programming just 'makes sense'.

Again, I really appreciate the feedback, guys.

Cheers! :beer:
"How we think determines what we do, and what we do determines what we get."

TheMaster

  • Guest
Re: AutoCAD - First Plug-in Training
« Reply #54 on: January 05, 2012, 08:55:41 PM »
Smaller companies can't afford to have somebody dedicated to programming, nor can they afford to hire them in. 

I must beg to differ, based largely on my own experiences. I'm a first-hand witness to many real-world cases where high-paid engineers or cadd managers attempted to implement reasonably-complex solutions that ultimately became never-ending projects that went on and on, before they gave up and/or went way over budget (in many cases by 2-3x over), and in some cases, most of the work they did had to be abandoned and/or completely re-done from scratch (in some cases, more than once!) before one could say they were finally working badly.

In most of those cases, I was witness by virtue of the fact that I was hired to help the customer recover from it, and that often meant having to completely redesign and implement the solution, and in almost every case, I was able to do that for a small fraction of what it had cost the customer to produce something that ultimately had to be abandoned. I estimate that roughly 30% of all the work I've done involves taking over existing projects that were floundering or had failed in the hands of in-house people that were not full-time programmers and did not have the experience needed to get the job done.

That's not only because I have years of experience developing AutoCAD solutions, but also because I was able to use my own existing reusable code libraries - the fruit of hundreds of man-hours of design, development, testing, and debugging which I've been working on and refining for many years.

Now, if we just consider that having the ability to make use of a truckload of existing code that's  already been heavily field-tested; debugged and is proven to work (by virtue of the fact that it is currently in use at many sites), the savings of having that (essentially for free when I'm using it contract work - with the caveat that they don't get to own that code outright, they instead get a non-exclusive license to use it), verses the cost of having to write all of the code that provides the equivalent functionality, it should be obvious that people that have been doing what I do on a full-time basis for many years, have a significant advantage over the average part-time, in-house engineer, cadd manager or others who usually must implement functionality offered by existing code libraries from scratch (or, pay significant licensing fees to acquire it from others).

Quote
Companies around the world have been making use of talented individuals contributing in areas that are not their primary expertise; although some turn out badly thats no reason for a blanket exclusion.

Well, I said 'most', which I don't think qualifies as a blanket exclusion.  And, it is places like this that many of those people turn to for help, sometimes without their bosses knowing they were even getting it  :laugh: :laugh:  Too bad most of them haven't donated to help cover the cost of maintaining this site  :oops:

Quote

The flip side of this disucssion is those whose primary profession is programming and keeping pace with programming methods & tools as suggested, are not spending the time necessary to stay current with the progam itself (e.g. AutoCAD, Civil3D) or the work processes in use by any given company, client, and/or industry.  This leads to applications which don't mesh well with what the users are actually doing, followed by complaints of "Must have been created by a programmer!".

Well, by professional programmer, I didn't typically mean some dude with a pony tail, that was working in the IT department of a Wall Street brokerage firm last year, and maybe was working for Yahoo for a few years before that.

Many full-time professional programmers who provide solutions on a consulting basis are people that specialize in industry-specific solutions, and for those that specialize in AutoCAD or an industry that uses it, AutoCAD knowledge is as important if not more important than general programming knowledge. Those kind of programmers/consultants are almost always more intimately familiar with AutoCAD and other tools used by their customers than the customer is.

It's Alive!

  • BricsCAD
  • Needs a day job
  • Posts: 7054
  • AKA Daniel
Re: AutoCAD - First Plug-in Training
« Reply #55 on: January 06, 2012, 02:01:37 AM »

I tried this and it makes the Attribute appear horizontal during the Jig of the Insert but crashes with a eOpenforWrite error after the rotation is selected......


I think that's because this simple example wasn't done correctly to start with (Sorry 'bout that Mr. Preston).

The TransformBy() method takes a Matrix3d and applies the transformation defined by the matrix.

If you want to alter the transformation in some way, you don't supermessage the base type and pass it the original Matrix3d parameter as supplied (which applies the tranformation), and then perform a second transformation, by setting the rotation property. Sorry again, but that is the classic definition of a kludge.

What the author should have done was modify the Matrix3d that was passed into the override of TransformBy() to eliminate any rotation, and then supermessage the base type and pass it the modified matrix.

As far as the errors you may be seeing, the object(s) involved are already open for write when the method is called, but may not always be open in a transaction in certain circumstances.

I had a supermassage once

Jeff H

  • Needs a day job
  • Posts: 6086
Re: AutoCAD - First Plug-in Training
« Reply #56 on: January 24, 2012, 10:23:35 AM »
was modify the Matrix3d that was passed into the override of TransformBy() to eliminate any rotation, and then supermessage the base type and pass it the modified matrix.
Does anyone know how that is accomplished?
 
I am sure it is just some simple nerd math.

gile

  • Water Moccasin
  • Posts: 2275
  • Marseille, France
Re: AutoCAD - First Plug-in Training
« Reply #57 on: January 24, 2012, 12:01:19 PM »
Does anyone know how that is accomplished?
 
I am sure it is just some simple nerd math.

Doesn't the reply #40 accomplish it ?
Speaking English as a French Frog

Jeff H

  • Needs a day job
  • Posts: 6086
Re: AutoCAD - First Plug-in Training
« Reply #58 on: January 24, 2012, 12:14:54 PM »
Does anyone know how that is accomplished?
 
I am sure it is just some simple nerd math.

Doesn't the reply #40 accomplish it ?
Oops,
I do not know how I missed that.
I was actually hoping you would reply since you always have nice clean solution to transformations etc.....
So Sorry and thanks again!!!!

gile

  • Water Moccasin
  • Posts: 2275
  • Marseille, France
Re: AutoCAD - First Plug-in Training
« Reply #59 on: January 28, 2012, 12:07:56 PM »
A nicer way (thanks to kaefer to remind me the Viewport.EyeToWorldTransform property)

Replace:
Code - C#: [Select]
  1.                Point3d org = attRef.Position;
  2.                Vector3d zVec = vd.Viewport.ViewDirection;
  3.                Vector3d yVec = vd.Viewport.CameraUpVector;
  4.                Vector3d xVec = yVec.CrossProduct(zVec).GetNormal();
  5.                Matrix3d viewMat =
  6.                    Matrix3d.AlignCoordinateSystem(
  7.                    Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis, Vector3d.ZAxis,
  8.                    org, xVec, yVec, zVec) *
  9.                    Matrix3d.WorldToPlane(new Plane(org, attRef.Normal)) *
  10.                    Matrix3d.Rotation(-attRef.Rotation, attRef.Normal, org);

With:
Code - C#: [Select]
  1.                Point3d org = attRef.Position;
  2.                Matrix3d viewMat =
  3.                    Matrix3d.Displacement(vd.Viewport.CameraTarget.GetVectorTo(org)) *
  4.                    vd.Viewport.EyeToWorldTransform *
  5.                    Matrix3d.WorldToPlane(new Plane(org, attRef.Normal)) *
  6.                    Matrix3d.Rotation(-attRef.Rotation, attRef.Normal, org);
Speaking English as a French Frog